Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вопрос про скрипт "Падающий снег" ("ку.." или не "ку..")
 
 автор: elenaki   (21.12.2006 в 11:20)   письмо автору
 
 

мне нужно, чтобы снег шел только на "зимнем" дизайне сайта. переменная season хранится
в куке. я вставила в скрипт функцию чтения куки и проверки правильности сезона, чтобы
узнать - запускать снег или нет. в IE работает - снег идет только в "зиме", а в FF снежинка
появляется, т.е. кука прочиталась и определилась, но не двигается :( в "лете" - как должно
быть - снег не идет. на другом сайте этот же скрипт снега, но без проверки кук, работает
хорошо...

куда надо вставить это if(checkSeason=="w") ////проверка сезона , чтобы снег двигался и в FF?



for (i=0;i<=snowmax;i++)
{
  if(checkSeason=="w") ////проверка сезона
  d.write("<span id='s"+i+"' style='position:absolute;"+(opac<1?"-moz-opacity:"+opac+";filter:alpha(opacity="+(opac*100)+")":"")+";top:-"+snowmaxsize+"'>"
    +snowletter[Math.floor(snowletter.length*Math.random())]+"</span>")
}           //-moz-opacity:0.5;filter:alpha(opacity=50);

   
 
 автор: 12345   (21.12.2006 в 14:27)   письмо автору
 
   для: elenaki   (21.12.2006 в 11:20)
 

Снег двигается по включению счётчика по setTimeout, а в этом месте программы снежинки отрисовываются. Если их не нарисовать, то в другом месте будет обращение к ним и ошибка.

Если надо, чтобы они нарисовались, но не двигались, запретите включение setTimeout(movesnow,...) (примерно так).

Лучше пользуйтесь более новой версией скрипта, в которой, в частности, можно включать и выключать снег, и тогда выполняете просто включение по условию. ( snowRestart() )

   
 
 автор: elenaki   (21.12.2006 в 16:28)   письмо автору
 
   для: 12345   (21.12.2006 в 14:27)
 

дело в том, что ошибки никакой Java-script не выдает, снежинка появляется - значит, кука
прочиталась, но не двигается... мне надо, чтоб двигалась... а в том новом скрипте ничего
не понятно :(

забыла в первом посте написать: я и перед таймаутом ставлю проверку на наличие куки...

onload=function()
{
checkSeason = getCookie("season");

  if(browserok && checkSeason=="w") setTimeout("initsnow()",99);
}

   
 
 автор: DEM   (21.12.2006 в 17:16)   письмо автору
 
   для: elenaki   (21.12.2006 в 11:20)
 

Если только в зимнем дизанйе, то вы например храните переменую в этом дизайне (например ' var snow=1'), а потом просто ставьте проверку, если переменая snow == 1, то вызвать функцию падающий снег, если нет, то... ничего не делать :)

   
 
 автор: elenaki   (21.12.2006 в 17:30)   письмо автору
 
   для: DEM   (21.12.2006 в 17:16)
 

с появлением снега в нужном дизайне проблем нет. я писала выше об этом. проблема в FF.
если стоит проверка куки, то снег появляется, но не двигается, без этой проверки - летает
нормально. функции запуска как таковой нет...

   
 
 автор: 12345   (21.12.2006 в 18:42)   письмо автору
 
   для: elenaki   (21.12.2006 в 17:30)
 

Покажите всю страницу - так сложно сказать, почему он не двигается.

   
 
 автор: elenaki   (22.12.2006 в 10:50)   письмо автору
 
   для: 12345   (21.12.2006 в 18:42)
 

там есть интро на флаш без скипа - так заказчик захотел, но он играет только один раз,
потом, если есть кука, то не играет. надеюсь, понятно, где зима :) на самом сайте можно
переключить и язык и сезон. смотреть в FF, Опера не интересует, в IE работает.

   
 
 автор: 12345   (22.12.2006 в 12:07)   письмо автору
 
   для: elenaki   (22.12.2006 в 10:50)
 

У меня флеш не установлен, дайте прямую ссылку, пж :)

   
 
 автор: elenaki   (22.12.2006 в 12:14)   письмо автору
 
   для: 12345   (22.12.2006 в 12:07)
 

http://www.hotelaxilleion.gr/index.php?season=w

не знаю, поможет ли...
надо сказать клиенту, что пользователи без Флаша не смогут зайти. я об этом не подумала даже :(

кинула ссылки на первую страницу с интро, чтобы заходили и "безлошадные" :)

   
 
 автор: 12345   (22.12.2006 в 12:22)   письмо автору
 
   для: elenaki   (22.12.2006 в 12:14)
 

Помогло, вижу, через час-два посмотрю.
..
Это из-за доктайпа. С ним в FF координаты в стилях нужны с 'px'. Поставил
    snow[i].style.top=Math.floor(snow[i].posy+=snow[i].sink+lftrght[i]*Math.sin(crds[i])/3)+'px';
    crds[i] += x_mv[i];
    snow[i].style.left=Math.floor(snow[i].posx+lftrght[i]*Math.sin(crds[i]))+'px';
, и заработало. Но почему-то неправильно - вытянутая вниз область присутствия снега.

   
 
 автор: 12345   (22.12.2006 в 14:19)   письмо автору
 
   для: 12345   (22.12.2006 в 12:22)
 

Ещё там надо

onload=function()
{
if(browserok&&checkSeason=="w") setTimeout("initsnow()",99);
}
..А, ну понятно почему другая область присутствия -
function botRight()
{
if(ie5||isOpera)
{ marginbottom=100; marginright=d.body.clientWidth; }
else
if(ns6) { marginbottom=500; marginright=100; }
} - так поставлено в той странице.

Наконец, про Оперу - несложно сделать, и в новой версии скрипта сделано - разрешение прозрачности типа style.opacity для 9-й версии.

(И понятно, куда дальше развить надо скрипт - полностью убрать d.write() , чтобы скрипт можно было подгружать в нужный момент на страницу. В новой версии этого ещё нет, там остался атавизм от исходного кода - (c) 2003 Peter Gehrig.)

   
 
 автор: elenaki   (22.12.2006 в 14:49)   письмо автору
 
   для: 12345   (22.12.2006 в 14:19)
 

спасибочки. заработало! :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования