|
|
|
| В связи с тем, что тема падающего снега неоднократно будоражила лучшие умы посетителей форума, пришлось присмотреться к недостаткам существующих скриптов и взяться-таки написать его. За основу взят лучший из найденных скриптов с замысловатым движением снежинок и добавлены пожелания посетителей, хотевших избавиться от недостатков и приобрести изображения денежных знаков, в частности, на экране желаемого скрипта. Пожелания сравнительно успешно выполнены и скрипт выкладывается в общее пользование. Исходный код во вложении.
Работу скрипта можно посмотреть на странице http://example.javascript.aho.ru/xmp002/falling-snow.htm.
Аннотация.
Скрипт падающего снега. 28.12.2005 IE5+, FF1.06+, Opera7.54+
Не требует обязательного использования рисунка снежинок.
Может показывать несколько видов снежинок или символов, похожих на них.
Устанавливается прозрачность снежинок или символов, оттенок цвета.
Регулируются скорость падения, минимальный и максимальный размеры.
Указывается расположение и ширина колонки в окне, в которой будет снег.
Снежинки кружатся по собственным случайным законам.
Процесс устойчив к прокрутке и изменению размеров окна.
Чем меньше снежинок, тем меньше нагрузка процессора при просмотре окна.
При установках по умолчанию процессор 2000МГц показал в WinXP загрузку 12-15% для IE6, 23-25% для FF (он традиционно сильно грузит анимацией прозрачных слоёв).
С благодарностью приму результаты тестирования и возможность сотрудничества в особенных, но не слишком экзотических браузерах - на Юниксе, на Маках. | |
|
|
|
|
|
|
|
для: 12345
(28.12.2005 в 05:34)
| | статично. | |
|
|
|
|
|
|
|
для: LimP
(28.12.2005 в 09:17)
| | Рулит! спасибо автору и модификатору :)
PS.
клиенту не понравилось, все удалила. :(
когда же, наконец, клиенты начнут понимать красоту!?!? | |
|
|
|
|
|
|
|
для: elenaki
(28.12.2005 в 09:40)
| | На мой взгляд, всякая анимация отвлекает от дела, кроме управляемой посетителем. Я сам бы никогда не взялся делать такое, а то, что сделал - это меньшее зло из имеющихся :). Как видите, постарался, чтобы мешало взгляду как можно меньше.
LimP : что статично? (Медленно?)
cheops: написал письмо. Выложил архив с кодом и рисунками. На странице демонстрации хочу ещё управление параметрами в онлайне сделать, тогда обновлю архив. | |
|
|
|
|
|
|
|
для: 12345
(28.12.2005 в 13:12)
| | в том-то и дело, что я была против всякой анимации, клиент САМ изъявил желание, чтобы
что-то падало на фоне. моя задача была - чтобы закидоны клиента не мешали работе всего
остального. предложенный вариант ему не понравился. придется все-таки во Флаш лезть.
банальный скроллироуемый фон с полупрозрачными символами ему тоже не понравился.
ему, видите ли, нужно, чтобы падающие символы постепенно исчезали и падали не поверх
страницы, а на фоне... сделаю 2 слоя, в нижний кину флашик, в верхний все остальное.
интересно, как себя поведут при этом формы? если флашик кидать поверх, формы не
работают. | |
|
|
|
|
|
|
|
для: elenaki
(28.12.2005 в 14:05)
| | elenaki: Поставьте после 37-й строчки из последнего архива такой блок параметров:
var snowmax=10 //поменьше объектов
var snowletter=["$","€"]; //убрать все лишние символы
var sinkspeed=0.3 //скорость падения по желанию
var snowmaxsize=65 //размер впечатлительнее
var snowminsize=23
var opac=1 //отключить прозрачность
var stepTime=140 //не меньше 100, чтобы было время для других скриптов
| Устроить падение на фоне несложно (всю страницу в див с absolute, больше ничего не менять), плавное пропадание тоже - управление opacity существует. Интересно, как это скажется на скорости, наверное, плохо. Если клиент не против, поэкспериментируйте (за его счёт :) ). На флеше будет, конечно, двигаться плавно и отлично. Только слышал, что в FF нельзя сделать прозрачный фон флеша, это так?
cheops (29.12.2005): тогда и адрес скрипта изменился: [url]http://www.softtime.ru/javascript/snow-falling.php[/url] | |
|
|
|
|
|
|
|
для: 12345
(28.12.2005 в 05:34)
| | А можно, мы эту прелесть выложим в раздел "Javascript", если да, то не могли бы вы сообщить свои данные (ФИО)? | |
|
|
|
|
|
|
|
для: cheops
(28.12.2005 в 13:32)
| | Скрипт помещён в разделе JavaScript.
http://www.softtime.ru/javascript/snowdown.php | |
|
|
|
|
|
|
|
для: cheops
(28.12.2005 в 18:39)
| | Спасибо за публикацию, надеюсь, она поможет улучшить имидж страниц многочисленным сайтостроителям. :)
Замечания: cheops: я полагаю, что лучше, всё же, назвать имена страниц и архивов именно как falling-snow.zip, потому что именно так у англичан называется "падающий снег" и под таким именем файлы проиндексируют поисковики. Если уж надо выделить snow, то snow-falling или snow-fall.zip
2) отсутствует картинка по адресу http://www.softtime.ru/javascript/snow21.gif ,она у меня имеется в прикреплённом архиве в этой теме. | |
|
|
|
|
|
|
|
для: 12345
(28.12.2005 в 18:52)
| | Поправлено. | |
|
|
|
|
|
|
|
для: cheops
(28.12.2005 в 19:04)
| | Хороший скрипт, только непонятно: к чему в нем денежные знаки, и как проще от них избавиться? | |
|
|
|
|
|
|
|
для: coloboc66
(29.12.2005 в 16:09)
| | Убрать все ненужные знаки из строки var snowletter=["$","€", ... ]; и(или) вставить свои. | |
|
|
|
|
|
|
|
для: coloboc66
(29.12.2005 в 16:09)
| | потому что скрипт на самом деле называется "Падший снег" и падает он только за деньги :)
это было желание моего клиента, чтобы дензнаки падали... | |
|
|
|
|
|
|
|
для: elenaki
(29.12.2005 в 16:57)
| | Браузер Opera грузит на 50% процессор, да и все браузеры, вот поэтому и не люблю JS | |
|
|
|
|
|
|
|
для: Akira
(30.12.2005 в 02:34)
| | А можно поставить кнопочки для пользователя- "включить снег", "выключить снег". | |
|
|
|
|
|
|
|
для: coloboc66
(30.12.2005 в 09:06)
| | Пока что нет, но собираюсь немного усложнить, тогда можно будет и демонстрацию со сменой параметров в онлайне без перезагрузки, и выключение.
[url]Дополнение_от_1.01.2006[/url]:
Сделана возможность онлайновой проверки работы скрипта (задание разных параметров) без перезагрузки страницы. пример и код лежат на http://example.javascript.aho.ru/xmp002/falling-snow.htm. Возможны ещё небольшие доработки (чтобы менялся символ, если начинает падать снова сверху), поэтому пока не прошу обновлять на softtime.ru .
для coloboc66: сделал выключение снега.
elenaki: сделал плавное угасание снежинок внизу экрана (IE,FF). Нагружает процесср на 20% больше, чем без него, но смотрится выигрышнее в любых отношениях. Так что, немного уменьшив размер снежинок или их количество, можно скомпенсировать нагрузку. | |
|
|
|
|
|
|
|
для: 12345
(30.12.2005 в 11:50)
| | Спасибо за скрипт! давно на сайте подобный стоял.
А можно ли сделать, что бы снежинки не падали, а как бы в лицо летели, что бы место откуда они летят менялось, так же его размер и скорость.
В тестировании помогу! | |
|
|
|
|
|
|
|
для: DEMON.GDV
(04.01.2006 в 00:56)
| | Да, хорошая мысль - развить алгоритм двтижения. На других примерах видел всего лишь 3 разновидности, из них 2 приличных. Давайте так: я сделаю основу скрипта со множеством параметров, вы протестируете, я затем уберу лишнее для оптимизации.
Размер менять можно. Откуда они будут появляться, сверху или издали? Кроме того, можно менять отдельно гориз. и верт. размеры, будет впечатление вращения. Потом, надо придумать более хаотичную траектроию.
Есть также мысль сделать разновидность всплывающих пузырей.
Видел кто-либо гиф-анимацию вращающейся снежинки? | |
|
|
|
|
|
|
|
для: 12345
(10.01.2006 в 15:19)
| | >Давайте так: я сделаю основу скрипта со
>множеством параметров, вы протестируете, я затем уберу
>лишнее для оптимизации.
ОК
>Размер менять можно.
Не помешает.
>Откуда они будут появляться, сверху или издали?
Появляться издали - как бы эффект движения в пространстве.
>Видел кто-либо гиф-анимацию вращающейся снежинки?
А что надо? Могу сделать за 15 минут из простой не вращающейся. | |
|
|
|
|
|
|
|
для: DEMON.GDV
(11.01.2006 в 00:29)
| | > А что надо? Могу сделать за 15 минут из простой не вращающейся.
Да, хорошо бы попробовать и посмотреть, как будет. Дело не такое простое, как кажется, из-за прозрачных пикселей, которые не должны дёргаться при анимации на границах. Потом, нужно вращение синусоидальное, а это лучше сделать из 3D-модели, если программа соответствующая стоит. Фон нужен прозрачный, вращение замедленное, но гиф не слишком тяжёлый, кба 5. Самое главное, чтобы было вращение по диагонали, потому что верт. и гориз. можно в JS сделать. Устройте, пожалуйста, простое диагональное вращение (по оси ЮЗ-СВ) с периодом 5 сек.
Над алгоритмом движения в ближайшие 3 дня подумаю, в понедельник можно будет что-то смотреть.
А начало движения можно устроить из верхней половины экрана, из размеров 3-5 пикс.
[url]Дополнение_от_12.01.2006:[/url]
Модифицировал скрипт для дальнейшей отработки эффектов падения и "налетания".
http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=11411&page=1
Все замечания по разработке этой тестовой версии - в ту тему. | |
|
|
|