Подскажите как обновить параметр скрипта?
Имеется скрипт снегопада, а мне нужно его модифицировать так, чтобы можно было ввести параметры и при нажатии кнопки менялось количество снежинок, их скорость и т.п. Пробовал засунуть все в функцию, но вместо падения снега изображение замирает. Спасибо заранее.
|
Невозможно понять проблему по такому тексту. Лучше бы опубликовать код, а еще лучше - ссылку на реализацию.
|
<html>
<head> <title>Простая страница</title> </head> <body> <script type="text/javascript"> var snowsrc="snow.jpg" var snowdistance = "pageheight"; var ie4up = (document.all) ? 1 : 0; var ns6up = (document.getElementById&&!document.all) ? 1 : 0; function rev (obj){//функция смены количества снежинок и времени снегопада var no =obj.num1.value; var hidesnowtime =obj.num2.value; } function iecompattest(){ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body } var dx, xp, yp; var am, stx, sty; var i, doc_width = 600, 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(); 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 (ie4up||ns6up) { document.write("<div id=\"sneg"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>"); } } function snowIE_NS6() { // Снежинки для InternetExplorer и NetScape6 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) { 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("sneg"+i).style.top=yp[i]+"px"; document.getElementById("sneg"+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("sneg"+i).style.visibility ="hidden" } if (ie4up||ns6up){ snowIE_NS6(); if (hidesnowtime>0) setTimeout("hidesnow()", hidesnowtime*1000) } </script> <P> Текст</P> <FORM name="form1"> Горизонтальная скорость <input type="text" name="num1" size="8"><br> Вертикальная скорость <input type="text" name="num2" size="8"><br> <input type="button" value="Применить" onClick="rev(form1)"><br> </FORM> </body> </html> |
Часовой пояс GMT +3, время: 08:54. |