Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Подскажите как обновить параметр скрипта? (https://javascript.ru/forum/dom-window/38277-podskazhite-kak-obnovit-parametr-skripta.html)

lonop 26.05.2013 01:37

Подскажите как обновить параметр скрипта?
 
Имеется скрипт снегопада, а мне нужно его модифицировать так, чтобы можно было ввести параметры и при нажатии кнопки менялось количество снежинок, их скорость и т.п. Пробовал засунуть все в функцию, но вместо падения снега изображение замирает. Спасибо заранее.

elnoro 26.05.2013 11:26

Невозможно понять проблему по такому тексту. Лучше бы опубликовать код, а еще лучше - ссылку на реализацию.

lonop 26.05.2013 11:51

<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.