Jump to content

Dima_2015

User
  • Posts

    33
  • Joined

  • Last visited

Everything posted by Dima_2015

  1. Это была одна из первых идей, которая меня посетила при реализации. Но она несостоятельна, давай подумаем. Для того чтоб вовремя заменить циклическую картинку джаваскриптом нужно очень точно вовремя вызвать скрипт замены. Значит я должен точно знать период анимации и быть увереным в том, что джс не подведет. А далее, известно, что исполнение джаваскрипта и в частности ф-ция setTimeout, с помощью которой реализуются все отложенные вызовы переодически подтормаживает. Результатом этого будут совершенно сбивающие юзера с толку картинки шаров, колбасящихся то так то эдак, а потом становящихся статичными посреди акта превращения. Короче говоря это не вариант. И вообще, есть ли гарантия что при загрузке циклического гифа из кеша он всегда будет начинаться с одного и того же кадра?
  2. Не угодно ли будет гуру поиска знаний в инете продемонстрировать мастер-класс, и разом выдать ссылку на решение проблемы сабжа, желательно в таком вот виде: http://lmgtfy.com/?q=%D0%B3%D0%BE%D0%BC%D0...A%D1%83&l=1
  3. Так таки ничего не придумалось, коллеги? Может оно принципиально низя?
  4. Хм... кстати отличная идея, спасибо. Это частично решает проблему, скажем так лагов становится немного меньше при появлении большого кол-ва шариков. Т.е. грузится один и если он не лагает - то все хорошо, ну а если лагает загрузка этого одного - тормозят все, или пан или пропал )) Но все-таки хочется решить задачу изначальную - грузить все с кеша и с анимацией, это будет наиболее быстро.
  5. И как я буду на нем делать если я в нем ни в зуб ногой? Уже написано готовое не очень простое приложение, в общем-то уже отточенное и работающее вполне сносно, вот образовался глюк, который актуален то только для тех у кого инет притормаживает.
  6. На самом деле ИЕ тоже вполне себе кеширует, и Опера тоже может. К сожалению поймать чем это определяется мне не удается. Вопрос открыт таки, что делать... надо чтоб везде кешировалось правильно - т.е. анимация всегда полностью показывалась и бралась из кеша.
  7. Не бред, зайди на ссылку данную в примере и "потыкайся", сделай несколько запусков при включенном кешировании браузера, затем обнови страничку и повтори. Да.. важный видимо момент, что речь идет не о циклических гифах, как ты привел, а о конечных, однотактовых... хз как сказать, пример лучше пояснит P.S. У меня проявляется в ФФ 3.5.7, но точно помню что раньше было и в других браузерах. Сейчас ИЕ и Опера вроде не задерживают, возможно более новые версии сейчас.
  8. Доброго времени суток всем! Вопрос: Есть ли способ загружать анимированные .gif изображения из кеша браузера не теряя анимацию? Подробнее. Думаю известная проблема - если мы делаем при каких-то событиях мыши загрузку анимированных изображений, то анимацию мы будем видеть ровно до тех пор, пока изображение не закешируется браузером, обычно этих разов будет 1, если не предпринять доп. усилий. После кеширования мы будем видеть уже не анимированное изображение, а его последний кадр. Стандартное js-решение этой проблемы - добавление случайного числа к урлу загружаемой картинки, это приводит к загрузке изображения снова с сервера. В моем случае это решение содержит изъян: картинок может загружаться довольно много одновременно и скорость их загрузки критична. Если у юзера нету тормозов инета и мой хост отдает изображения нормально, то проблем не наблюдается. Но стоит появиться лагам с той или другой стороны и загрузка изображений начинает подтормаживать. Это может сбить с толку... Конкретно, где это используется: Есть приложение логической игры онлайн для ВКонтакта (вернее сделано оно давно для себя и сейчас на ВКонтакт интегрируется): http://vkontakte.ru/app180099 Кстати рекомендую любителям логических игр... Вот тут, когда едим чужие шарики - анимация может тормозить. Для тех кто не зарегистрирован, моделирование проблемы: http://mskhost.nichost.ru/lagmodel.html Что можно придумать? Слышал про новую технологию с элементом canvas, может она поможет?
  9. Спасибо госпада за ссылки, особенно интересна статься на Хабре (как всегда). Про sqlite-таблицу сохраненных данных понятия не имел...
  10. Всем привет. Проблема такая: Современные браузеры запоминают значения полей формы input при сабмите. И потом при повторном введении слов выдают автоматом всплывающие подсказки в полях типа input. Вопрос: можно ли насильно запретить такое запоминание (или вывод результатов) средствами html/js/css ? Зачем мне это? - хочу сделать свои всплывающие подсказки, ну например как на яндексе - выбирает из базы уже готовые результаты по похожим запросам и подставляют в табличку под окном поиска. В таком варианте автоматические подсказки браузера мешают - закрывают собой наши юзерские. Вариант который я вижу: т.к. запоминание происходит при сабмите формы - передалать систему так, чтоб форма по сути никогда не сабмитилась, а отправлялось методом GET путем замены location и подстановкой в него данных из формы, дергаемых js-ом. Этот вариант мне явно не нравится, другие есть? Нашел ответ... autocomplete="off"
  11. Облако тегов это называется. Выставляет размер шрифта в зависимости от частоты, с которой встречается тег в темах.
  12. Начнем с того что РНР тут совершенно не при чем, РНР работает на сервере и понятия не имеет какие кнопки пользователь нажимает на клавиатуре. Он может судить об этом только косвенно, по данным, которые пришли от пользователя, но эти данные злобный пользователь всегда может подделать. А отловить Shift+Click можно javascript-ом: <a href="..." onclick="my_func(event)">...</a> js: // Ф-ция срабатывает на клик по ссылке, получая параметр - событие. //Если событие произошло при нажатой кнопке Shift (флаг event.shiftKey) ф-ция выводит то, что надо function my_func(evt) { if(evt.shiftKey) { alert('С новым Годом!'); } return false; // это если надо отменить переход по ссылке }
  13. Эм... вопрос в том как сделать так чтоб скролл не появлялся? - это вопрос CSS, ток на него я вряд ли отвечу, это к папашкам CSS-а надо обращаться. А если надо сделать так, что скролл есть, крутишь колесико и ничего не происходит, то я бы действовал в следующем направлении: <body onscroll="stop_scroll(event)"> js: function stop_scroll(evt) { evt.cancelBubble = true; //отключить бег события выше для ИЕ evt.returnValue = false; //отключить стандартное действие //то же самое для Мозиллы if(evt.preventDefault) evt.preventDefault(); if(evt.stopPropagation) evt.stopPropagation(); return false; }
  14. Vlad, ах как часто хочется сделать красиво, лишь бы не для ИЕ 6 ))))) Горбушка, картинка фона 1-й ячейки таблицы говоришь... ну тогда так: height: 100px; } </style> <script type="text/javascript"> /** * Меняет фон всей таблицы, пусть останется, пригодится;) */ function change_backgroundcolor(element, color_code) { element.style.backgroundColor = color_code; } /** * Находит 1ю ячейку таблицы и делает заданную картинку ей бэкграундом * */ function change_background(table_element, image_src) { // Получаем 1ю ячейку таблицы var td = table_element.getElementsByTagName('td')[0]; // Меняем ее фон td.style.background = 'transparent url(' + image_src + ') left top no-repeat'; } </script> </head> <body> <table onmouseover="change_background(this, '1.jpeg')" onmouseout="change_background(this, '2.jpeg')" border="1" style="background-color:#ffffff"> <tr> <td>12345</td><td>12345</td> </tr> <tr> <td>12345</td><td>12345</td> </tr> <tr> <td>12345</td><td>12345</td> </tr> </table> <br/> <br/> <table onmouseover="change_background(this, '1.jpeg')" onmouseout="change_background(this, '2.jpeg')" border="1" style="background-color:#cccccc"> <tr> <td>1</td><td>2</td> </tr> <tr> <td>1</td><td>2</td> </tr> <tr> <td>1</td><td>2</td> </tr> </table> </body> </html> Предполагается, что картинки 1.jpeg и 2.jpeg лежат в 1й папке с хтмл-файлом. Как работает смотри тут: http://krizisov.net/table/test.html Если опять не то, давай флешку...
  15. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Меняем фон</title> <script type="text/javascript"> function change_backgroundcolor(element, color_code) { element.style.backgroundColor = color_code; } </script> </head> <body> <table onmouseover="change_backgroundcolor(this, '#cccfff')" onmouseout="change_backgroundcolor(this, '#ffffff')" border="1" style="background-color:#ffffff"> <tr> <td>1</td><td>2</td> </tr> <tr> <td>1</td><td>2</td> </tr> <tr> <td>1</td><td>2</td> </tr> </table> <br/> <br/> <table onmouseover="change_backgroundcolor(this, '#fffccc')" onmouseout="change_backgroundcolor(this, '#cccccc')" border="1" style="background-color:#cccccc"> <tr> <td>1</td><td>2</td> </tr> <tr> <td>1</td><td>2</td> </tr> <tr> <td>1</td><td>2</td> </tr> </table> </body> </html> покатит?
  16. Ну выкладывай тады все что пишешь, будем посмотреть...
  17. rash с ума сошел? Скока ж он будет весить? : )))
  18. Ну самое простое это в кукисах сохраняют логин и md5-хеш пароля, при входе юзера смотрят куку и если кука есть делают запрос к базе, точно также, как когда юзер вводит логин и пароль через форму входа, только тут данные берутся не из массива $_POST а из массива $_COOKIE. Чуть более хитрый путь это вводить понятие идентификатора сессии и его в куку сохранять, токо тогда он и на сервере должен где-то быть...
  19. В общем то избитая проблема с кодировками, за ними внимательно надо следить причем с самого начала, ибо побиться они могут в нескольких местах. В данном случае важно: 1. В какой кодировке приходят данные из массива $_POST 2. В какой кодировке сам хтмл/рнр - документ 3. В какой кодировке ты пытаешься отправлять письмо, в данном случае ты не указываешь, а значит ставится кодировка по умолчанию. Видать где-то данные в одной кодировке, а отправляться пытаются в другой, вероятней всего эти 2 кодировки ср-1251 и ЮТФ-8. Поскольку я привык работать с UTF-8, приведу действия, которые стоит в 1ю очередь сделать: 1. В хтмл-коде страницы с формой пишем: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 2. В рнр-коде скрипта пишем: header('Content-type: text/html; charset=utf-8'); 3. Для отправки писем я юзаю вот такую ф-цию: /** ******************************************************************************** ************* * Функция отправляет письмо * * @param string $from Адрес отправителя * @param string $to Адрес получателя * @param string $subject Тема письма * @param string $message Текст сообщения * @return bool */ function sendMail($from, $to, $subject, $message) { // Меняем кодировку темы $subject = "=?UTF-8?B?" . base64_encode($subject) . "?=\n"; // Подготавливаем заголовки $headers="From: " . $from . "\n" . "Content-Type: text/plain; charset=UTF-8; format=flowed\n" . "MIME-Version: 1.0\n" . "Content-Transfer-Encoding: 8bit\n"; // Отправляем письмо $result = mail($to, $subject, $message, $headers); // Возвращаем логический результат отправки письма return $result; }/** ******************************************************************************** ***********/ $headers="From: " . $from . "\n" . "Content-Type: text/plain; charset=UTF-8; format=flowed\n" Это собственно ключевое место в плане кодировок. Вот если все вышеперечисленное не поможет, тады будем разбираться. Ежели хочется оставить все в ср-1251, то видать надо заменить UTF-8 везде на windows-1251 или ср-1251, не помню точно.
  20. Забавно тут у вас, человек спрашивает как сделать, а ему в ответ - да тебе это не нужно : )))) Вообще как я понимаю, судя по обилию этих скриптов снега на всяческих сайтах это уже стандартная библа js-овская, которую все ставят кому не лень, а значит ее можно найти в поиске. Вот например Яндекс по запросу "снег javascript" первой же ссылкой выдал: http://www.softholm.com/download-software-free7705.htm Тут можно скачать, оно вроде как работает, останется ток настроить. Вообще тема древняя, еще на Винграде целый здоровый топик был по оптимизации этого снега. Можно и самому написать, но задачка прям скажем, не очень простая, особенно сделать так чтоб оно не шибко проц грузило.
  21. Dima_2015

    NetBeans

    А Зенд тут никто не любит?
  22. <html> <head> </head> <body> <div id="my_div" style="background-color: #000000; width: 100px; height: 100px;"> <input type="radio" name="radio[]" value="#111111" onclick="document.getElementById('my_div').style.backgroundColor = this.value"> <input type="radio" name="radio[]" value="#cccccc" onclick="document.getElementById('my_div').style.backgroundColor = this.value"> <input type="radio" name="radio[]" value="#aaaaaa" onclick="document.getElementById('my_div').style.backgroundColor = this.value"> </body> </html> Покатит?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy