Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№122-12-2005 02:43:09

SDVermut
Участник
 
Группа: Members
Зарегистрирован: 21-12-2005
Сообщений: 5

Пожалуйста, помогите настроить java скрипт

Есть скрипт падающего снега на странице snow.js. В IE работает, в FF - нет.

Выделить код

Код:

/*
Snow Java Script- 
By Dynamic Web Design (www.dynamic-design.com.ua)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit http://www.dynamic-design.com.ua/develop/
*/
var no = 10;
var speed = 9;
var snowflake = "http://192.168.100.13/snow.gif";
var keith = 1;
var sammmy = 2;

var ns4up = (document.getElById) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var dx, xp, yp;
var am, stx, sty;
var i, doc_width = 400, doc_height = 500;
if (ns4up) {
 doc_width = self.innerWidth;
 doc_height = self.innerHeight;
} else if (ie4up) {
 doc_width = 500;
 doc_height = 500;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) {  
 dx[i] = 0;
 xp[i] = Math.random()*(doc_width-50);
 yp[i] = Math.random()*doc_height;
 am[i] = Math.random()*20;
 stx[i] = 0.02 + Math.random()/10;
 sty[i] = 0.7 + Math.random();
 if (ns4up) {
   if (i == 0) {
     document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
     document.write("top=\"15\" visibility=\"show\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></layer>");
   } else {
     document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
     document.write("top=\"15\" visibility=\"show\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></layer>");
   }
 } else if (ie4up) {
   if (i == 0) {
     document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
     document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
     document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></div>");
   } else {
     document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
     document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
     document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></div>");
   }
 }
}
function snowNS() {
 for (i = 0; i < no; ++ i) {
   yp[i] += sty[i];
   if (yp[i] > doc_height-50) {
     xp[i] = Math.random()*(doc_width-am[i]-30);
     yp[i] = 0;
     stx[i] = 0.02 + Math.random()/10;
     sty[i] = 0.7 + Math.random();
     doc_width = self.innerWidth;
     doc_height = self.innerHeight;
   }
   dx[i] += stx[i];
   document.layers["dot"+i].top = yp[i];
   document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
 }
 setTimeout("snowNS()", speed);
}

function snowIE() {
 for (i = 0; i < no; ++ i) {
   yp[i] += sty[i];
   if (yp[i] > doc_height-50) {
     xp[i] = Math.random()*(doc_width-am[i]-30);
     yp[i] = 0;
     stx[i] = 0.02 + Math.random()/10;
     sty[i] = 0.7 + Math.random();
     doc_width = document.body.clientWidth;
     doc_height = document.body.clientHeight;
   }
   dx[i] += stx[i];
   document.all["dot"+i].style.pixelTop = yp[i];
   document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
 }
 setTimeout("snowIE()", speed);
}

if (ns4up) {
 snowNS();
} else if (ie4up) {
 snowIE();
}

Как исправить???

Отсутствует

 

№222-12-2005 03:39:37

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508

Re: Пожалуйста, помогите настроить java скрипт

document.getElById

заменить на

Выделить код

Код:

document.layers

Добавить

Выделить код

Код:

var ns6up = (document.getElementById) ? 1 : 0;

После

function snowIE() {

Добавить аналогичную функцию
showNS6()
только в ней все
document.all[ ... ]
заменить на

Выделить код

Код:

document.getElementById( ... )

а pixelTop на top и pixelLeft на left
и в конце добавить

Выделить код

Код:

else if (ns6up) {
 snowNS6();
}

А вообще лучше конечно весь код переписать.

Отсутствует

 

№322-12-2005 04:31:33

SDVermut
Участник
 
Группа: Members
Зарегистрирован: 21-12-2005
Сообщений: 5

Re: Пожалуйста, помогите настроить java скрипт

Внёс изменения, теперь у меня все выглядит так:

Выделить код

Код:

/*
Snow Java Script- 
By Dynamic Web Design (www.dynamic-design.com.ua)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit http://www.dynamic-design.com.ua/develop/
*/
var no = 20;
var speed = 12;
var snowflake = "http://192.168.100.13/snow.gif";
var keith = 1;
var sammmy = 2;

var ns4up = (document.layers) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var ns6up = (document.getElementById) ? 1 : 0;
var dx, xp, yp;
var am, stx, sty;
var i, doc_width = 400, doc_height = 500;
if (ns4up) {
 doc_width = self.innerWidth;
 doc_height = self.innerHeight;
} else if (ie4up) {
 doc_width = 500;
 doc_height = 500;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) {  
 dx[i] = 0;
 xp[i] = Math.random()*(doc_width-50);
 yp[i] = Math.random()*doc_height;
 am[i] = Math.random()*20;
 stx[i] = 0.02 + Math.random()/10;
 sty[i] = 0.7 + Math.random();
 if (ns4up) {
   if (i == 0) {
     document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
     document.write("top=\"15\" visibility=\"show\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></layer>");
   } else {
     document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
     document.write("top=\"15\" visibility=\"show\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></layer>");
   }
 } else if (ie4up) {
   if (i == 0) {
     document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
     document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
     document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></div>");
   } else {
     document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
     document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
     document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
     document.write(snowflake + "\" border=\"0\"></div>");
   }
 }
}
function snowNS() {
 for (i = 0; i < no; ++ i) {
   yp[i] += sty[i];
   if (yp[i] > doc_height-50) {
     xp[i] = Math.random()*(doc_width-am[i]-30);
     yp[i] = 0;
     stx[i] = 0.02 + Math.random()/10;
     sty[i] = 0.7 + Math.random();
     doc_width = self.innerWidth;
     doc_height = self.innerHeight;
   }
   dx[i] += stx[i];
   document.layers["dot"+i].top = yp[i];
   document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
 }
 setTimeout("snowNS()", speed);
}

function snowIE() {
 for (i = 0; i < no; ++ i) {
   yp[i] += sty[i];
   if (yp[i] > doc_height-50) {
     xp[i] = Math.random()*(doc_width-am[i]-30);
     yp[i] = 0;
     stx[i] = 0.02 + Math.random()/10;
     sty[i] = 0.7 + Math.random();
     doc_width = document.body.clientWidth;
     doc_height = document.body.clientHeight;
   }
   dx[i] += stx[i];
   document.all["dot"+i].style.pixelTop = yp[i];
   document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
 }
 setTimeout("snowIE()", speed);
}

function showNS6() {
 for (i = 0; i < no; ++ i) {
   yp[i] += sty[i];
   if (yp[i] > doc_height-50) {
     xp[i] = Math.random()*(doc_width-am[i]-30);
     yp[i] = 0;
     stx[i] = 0.02 + Math.random()/10;
     sty[i] = 0.7 + Math.random();
     doc_width = document.body.clientWidth;
     doc_height = document.body.clientHeight;
   }
   dx[i] += stx[i];
   document.getElementById("dot"+i).style.lTop = yp[i];
   document.getElementById("dot"+i).style.Left = xp[i] + am[i]*Math.sin(dx[i]);
 }
 setTimeout("showNS6()", speed);
}

if (ns4up) {
 snowNS();
} else if (ie4up) {
 snowIE();
}
else if (ns6up) {
 snowNS6();
}

Но снег в FF по-прежнему не идет, вечное лето )))) Где я дал маху???

Отсутствует

 

№422-12-2005 06:34:23

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Пожалуйста, помогите настроить java скрипт

SDVermut пишет

Внёс изменения, теперь у меня все выглядит так:
...
Но снег в FF по-прежнему не идет, вечное лето )))) Где я дал маху???

1. Присутствуют вызовы несуществующей функции showNS6 (надо - snowNS6)
2. Строку

Выделить код

Код:

} else if (ie4up) {

надо изменить:

Выделить код

Код:

} else if (ie4up || ns6up) {

3. Строки

Выделить код

Код:

document.getElementById("dot"+i).style.lTop = yp[i];
document.getElementById("dot"+i).style.Left = xp[i] + am[i]*Math.sin(dx[i]);

надо изменить так:

Выделить код

Код:

document.getElementById("dot"+i).style.top = yp[i];
document.getElementById("dot"+i).style.left = xp[i] + am[i]*Math.sin(dx[i]);

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№522-12-2005 10:58:27

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508

Re: Пожалуйста, помогите настроить java скрипт

1. Присутствуют вызовы несуществующей функции showNS6 (надо - snowNS6)

Ну, то есть если придерживаться логики именования, раз везде snow, то и в определении функции должно быть snowNS6, тогда функция будет существующей

надо изменить:
Код:

} else if (ie4up || ns6up) {

Но не внизу, а только там, где document.write("<div id= и так далее.

И передайте привет dynamic-design.com.ua, пишущей такие совместимые скрипты.

Отсутствует

 

№608-12-2008 16:17:14

Milashka
Участник
 
Группа: Members
Зарегистрирован: 08-12-2008
Сообщений: 1
UA: Foxware 0.0

Re: Пожалуйста, помогите настроить java скрипт

Вот могу предложить скрипт падающего снега - работает в FF и IE точно, остальные броузеры не проверяла.
Вставляла между тегами <body> в главный шаблон форума на PHP

Выделить код

Код:

<script type="text/javascript">

/******************************************
* Snow Effect Script- By Altan d.o.o. (http://www.altan.hr/snow/index.html)
* Visit Dynamic Drive DHTML code library (http://www.dynamicdrive.com/) for full source code
* Last updated Nov 9th, 05' by DD. This notice must stay intact for use
******************************************/
  
  //Configure below to change URL path to the snow image
  var snowsrc="snow.gif"
  // Configure below to change number of snow to render
  var no = 10;
  // Configure whether snow should disappear after x seconds (0=never):
  var hidesnowtime = 0;
  // Configure how much snow should drop down before fading ("windowheight" or "pageheight")
  var snowdistance = "pageheight";

///////////Stop Config//////////////////////////////////

  var ie4up = (document.all) ? 1 : 0;
  var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

	function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}

  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var i, doc_width = 800, doc_height = 600; 
  
  if (ns6up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie4up) {
    doc_width = iecompattest().clientWidth;
    doc_height = iecompattest().clientHeight;
  }

  dx = new Array();
  xp = new Array();
  yp = new Array();
  am = new Array();
  stx = new Array();
  sty = new Array();
  snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc
  for (i = 0; i < no; ++ i) {  
    dx[i] = 0;                        // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;         // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();     // set step variables
		if (ie4up||ns6up) {
      if (i == 0) {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>");
      } else {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
      }
    }
  }

  function snowIE_NS6() {  // IE and NS6 main animation function
    doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
		doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")?  iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
        xp[i] = Math.random()*(doc_width-am[i]-30);
        yp[i] = 0;
        stx[i] = 0.02 + Math.random()/10;
        sty[i] = 0.7 + Math.random();
      }
      dx[i] += stx[i];
      document.getElementById("dot"+i).style.top=yp[i]+"px";
      document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";  
    }
    snowtimer=setTimeout("snowIE_NS6()", 10);
  }

	function hidesnow(){
		if (window.snowtimer) clearTimeout(snowtimer)
		for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
	}
		

if (ie4up||ns6up){
    snowIE_NS6();
		if (hidesnowtime>0)
		setTimeout("hidesnow()", hidesnowtime*1000)
		}

</script>

Вот одно из этих 760d649d18ac.gif b84195300c15.gif изображений надо закинуть в корневую директорию сайта предварительно переименовав изображение в "snow.gif" .
И еще почему то сразу снежинки у меня не грузились, потом когда страницу обновила несколько раз - стали выпадать сразу без задержек. 


Код взят с сайта http://www.dynamicdrive.com.

Отредактировано Milashka (08-12-2008 16:19:29)

Отсутствует

 

№708-12-2008 16:26:16

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 3.0

Re: Пожалуйста, помогите настроить java скрипт

Было такое. Даже, по крайней мере, два раза:
http://forum.mozilla-russia.org/viewtopic.php?id=14679,
http://forum.mozilla-russia.org/viewtopic.php?id=14679

Отсутствует

 

№808-12-2008 20:40:47

Z&N
Участник
 
Группа: Members
Зарегистрирован: 01-04-2008
Сообщений: 2401
UA: Minefield 3.2

Re: Пожалуйста, помогите настроить java скрипт

Milashka
AdCentriaIM :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]