Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Скрипт снежинок


Рекомендуемые сообщения

Скачал скрипт снежинок, поставил на страницу, но проблема в том, что скрипт не рассчитан на то, что у страницы могут быть полосы прокрутки, и снежинки идут только до опледелённого момента на странице, а ниже уже не идут, может кто знает как это исправить?

Вот скрипт:

<script LANGUAGE="JavaScript1.2">

<!-- Altan (snow@altan.hr) -->

<!-- WWW: http://www.altan.hr/snow -->

<!-- Begin

var no = 25; //кол-во снежинок

var speed = 10; // скорость

var snowflake = "1.gif"; // картинка

var ns4up = (document.layers) ? 1 : 0; // browser sniffer

var ie4up = (document.all) ? 1 : 0;

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 (ns4up) {

doc_width = self.innerWidth;

doc_height = self.innerHeight;

} else if (ie4up) {

doc_width = document.body.clientWidth;

doc_height = document.body.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 = 0; // set coordinate variables

xp = Math.random()*(doc_width-50); // set position variables

yp = Math.random()*doc_height;

am = Math.random()*20; // set amplitude variables

stx = 0.02 + Math.random()/10; // set step variables

sty = 0.7 + Math.random(); // set step variables

if (ns4up) { // set layers

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() { // Netscape main animation function

for (i = 0; i < no; ++ i) { // iterate for every dot

yp += sty;

if (yp > doc_height-50) {

xp = Math.random()*(doc_width-am-30);

yp = 0;

stx = 0.02 + Math.random()/10;

sty = 0.7 + Math.random();

doc_width = self.innerWidth;

doc_height = self.innerHeight;

}

dx += stx;

document.layers["dot"+i].top = yp;

document.layers["dot"+i].left = xp + am*Math.sin(dx);

}

setTimeout("snowNS()", speed);

}

function snowIE() { // IE main animation function

for (i = 0; i < no; ++ i) { // iterate for every dot

yp += sty;

if (yp > doc_height-50) {

xp = Math.random()*(doc_width-am-30);

yp = 0;

stx = 0.02 + Math.random()/10;

sty = 0.7 + Math.random();

doc_width = document.body.clientWidth;

doc_height = document.body.clientHeight;

}

dx += stx;

document.all["dot"+i].style.pixelTop = yp;

document.all["dot"+i].style.pixelLeft = xp + am*Math.sin(dx);

}

setTimeout("snowIE()", speed);

}

if (ns4up) {

snowNS();

} else if (ie4up) {

snowIE();

}

// End -->

</script>

Сам я не особо в этом разбираюсь, но хочу обратить внимание, что в начале в скрипте есть такая строчка

var i, doc_width = 800, doc_height = 600;

В начале я подумал, что это и есть область, где должны быть снежинки, но при изменении (увеличении) чисел, область падения снежинок не увеличилась.

Если кто знает что нужно сделать, помогите please.

Изменено пользователем Tom Kruz
Ссылка на комментарий
Поделиться на другие сайты

попробуй вот этот

<html><head><title>WOweb.ru - Scripts - JavaScript - Rain</title><META http-equiv="Content-Type" content="text/html; charset=windows-1251"><META NAME="description" CONTENT="Коллекции CGI, PHP, JavaScript скриптов, Java апплеты, огромное количество документации по разным языкам программирования, анимированные гифы, фоны, полезные программы, форум, ссылки по теме."><META NAME="keywords" CONTENT="perl scripts, perl, cgi scripts, cgi, перл, java, java scripts, веб-программирование, web-programming,  html,  каталог ссылок, документация по веб-программированию, cgi скрипты, java скрипты, игры, java апплеты,  апплеты, гифы, скрипты, скрипт, книги по веб-программированию, форум по perl, CGI, Perl, script, HTML"><Style>  A:Link{ Color: #000000; Text-decoration: underline}  A:Visited{ Color: #000000; Text-decoration: underline}  A:Hover{ Color: #000000; Text-decoration: none}td, body {font-family: verdana, arial, helvetica; font-size:11px;}  </Style><!-- HEAD START HERE --><!-- HEAD END HERE --></head><body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0"><center><!-- BODY START HERE --><script LANGUAGE="JavaScript"><!-- Beginvar no = 50;var speed = 1;var ns4up = (document.layers) ? 1 : 0;var ie4up = (document.all) ? 1 : 0;var s, x, y, sn, cs;var a, r, cx, cy;var i, doc_width = 800, doc_height = 600;if (ns4up) {doc_width = self.innerWidth;doc_height = self.innerHeight;}elseif (ie4up) {doc_width = document.body.clientWidth;doc_height = document.body.clientHeight;}x = new Array();y = new Array();r = new Array();cx = new Array();cy = new Array();s = 8;for (i = 0; i < no; ++ i) {  initRain();if (ns4up) {if (i == 0) {document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");document.write(",</font></layer>");}else {document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");document.write(",</font></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;\"><font color=\"blue\">");document.write(",</font></div>");}else {document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");document.write(",</font></div>");  }  }}function initRain() {a = 6;r[i] = 1;sn = Math.sin(a);cs = Math.cos(a);cx[i] = Math.random() * doc_width + 1;cy[i] = Math.random() * doc_height + 1;x[i] = r[i] * sn + cx[i];y[i] = cy[i];}function makeRain() {r[i] = 1;cx[i] = Math.random() * doc_width + 1;cy[i] = 1;x[i] = r[i] * sn + cx[i];y[i] = r[i] * cs + cy[i];}function updateRain() {r[i] += s;x[i] = r[i] * sn + cx[i];y[i] = r[i] * cs + cy[i];}function raindropNS() {for (i = 0; i < no; ++ i) {updateRain();if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {makeRain();doc_width = self.innerWidth;doc_height = self.innerHeight;}document.layers["dot"+i].top = y[i];document.layers["dot"+i].left = x[i];}setTimeout("raindropNS()", speed);}function raindropIE() {for (i = 0; i < no; ++ i) {updateRain();if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {makeRain();doc_width = document.body.clientWidth;doc_height = document.body.clientHeight;}document.all["dot"+i].style.pixelTop = y[i];document.all["dot"+i].style.pixelLeft = x[i];}setTimeout("raindropIE()", speed);}if (ns4up) {raindropNS();}elseif (ie4up) {raindropIE();}//  End --></script><!-- BODY END HERE --></body></html>
Ссылка на комментарий
Поделиться на другие сайты

verba:

Проблема остаётся и с этим скриптом, дождик падает до определённого места на странице, а ниже никак... :-(

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...