Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Странная логика кода, Есть строчка, вызывающая недоумение 
:(
    Опции темы
Finder128
Дата 26.8.2008, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 15.3.2008

Репутация: нет
Всего: нет



Анализируя скрипт "Эффект зимы" я столкнулся со странной строчкой в коде (line 61). В начале скрипта иннициализируются массивы xachse и yachse, при этом yachse заполняется случайными отрицательными значениями в определённом диапазоне. Также иннициализируется переменная yMax, имеющая однозначно положительное значение (yMax=document.body.clientHeight).
Так вот, в одной из строчек приводится такая конструкция:
"    if (yachse[i] >= yMax-50) { ", т.е если отрицательное число будет больше или равно положительному. Как ни странно,это условие выполняется! Не понимаю, в чём дело?
Вот весь код:

Код


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Ñíåã</title>
</head>

<body LINK="#0000FF" TEXT="FFFFFF" VLINK="#999999" ALINK="#00FF00" BGCOLOR="#000000"
onload="start()" onResize="location.reload()">
<font face="arial" size="3">

<p align="center">
<script><!--     

count = 40;
speed = 1;
snowfall = true;
function start() {
if (document.all) {            // IExplorer
  yMax = document.body.clientHeight;
  xMax = document.body.clientWidth;
  }
else if (document.layers) {     // Netscape
  yMax = window.innerHeight;
  xMax = window.innerWidth;
  }

xachse = new Array();
for(i = 1; i <=40; i++)  {
    x = 10000;
    do
    {    x = Math.round(Math.random() * 10000);  } 
    while(x > xMax-50);
    xachse[i] = x;
};
//alert(xachse)
//alert(yMax)
yachse = new Array();
for(i = 1; i <=40; i++)  {    yachse[i] = - Math.round(Math.random() * 1000); };
//alert(yachse)
show();
movesnow(); }
function movesnow() {
if (snowfall) {
for(i = 1; i <=count; i++)
    //alert(yachse[i])
  { 
  wind = Math.round(Math.random() * 10);    // horizontale Bewegung
    if (wind == 2) {
        if (document.all) {  document.all("snow"+i).style.left = xachse[i] + wind; }
        else if (document.layers) { document.layers['snow' + i].left = xachse[i] + wind;       }
    }
    if (wind == 1) {
    if (document.all) {  document.all("snow"+i).style.left = xachse[i] - wind; }
    else if (document.layers) { document.layers['snow' + i].left = xachse[i] - wind;       }
     }
//alert (yachse[i])
if (document.all) {     
//alert(yachse[i])
    if (yachse[i] >= yMax-50) { 
//alert("!")
    yachse[i] = - Math.round(Math.random() * 1000); };
 }
else if (document.layers) {      if (yachse[i] >= yMax-50+pageYOffset) { yachse[i] = - Math.round(Math.random() * 1000); };     }
if ( count >= 30 ) { yachse[i] = yachse[i] + speed + 1;     }
else  { yachse[i] = yachse[i] + speed;     };
if (document.all) {      document.all("snow"+i).style.top = yachse[i]; }
else if (document.layers) {     document.layers['snow' + i].top = yachse[i];      }
    }

    setTimeout('movesnow()',10);
}
}
function hide(){
for(i = 1; i <=count; i++)
  { 
        if (document.all) {  document.all("snow"+i).style.visibility = "hidden"; }
        else if (document.layers) { document.layers['snow' + i].visibility = "hide";       }
        }
        }
function show(){
for(i = 1; i <=count; i++)
  { 
        if (document.all) {  document.all("snow"+i).style.visibility = "visible"; }
        else if (document.layers) { document.layers['snow' + i].visibility = "show";       }
        }
        }

//-->        

</script> </p>
<p id="snow1"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow2"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow3"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</div><p id="snow4"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow5"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow6"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow7"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow8"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow9"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow10"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow11"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow12"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow13"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow14"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow15"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow16"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow17"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow18"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow19"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow20"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow21"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow22"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow23"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow24"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow25"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow26"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow27"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow28"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow29"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow30"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow31"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow32"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow33"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow34"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow35"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow36"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow37"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow38"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow39"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p><p id="snow40"
style="position:absolute; z-index:3; font-size:15pt; color:#FFFFFF; font-family:Times New Roman, Helvetica; visibility:hidden; width:20"
align="center">

*
</p></font>

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
  <tr>
    <td><font face="arial" size="3">&nbsp;<p align="center"><font color="#FF0000"><strong>Ñ
    Íîâûì Ãîäîì... </strong></font></font></td>
  </tr>
</table>
</body>
</html>

PM MAIL   Вверх
Ghirik
Дата 26.8.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 5
Всего: 20



Цитата

Как ни странно,это условие выполняется! Не понимаю, в чём дело?


Да всё нормально... расслабьтесь... smile 
Есть положительное значение - вот и хорошо. Зачем его анализировать? Скрипт очень старый, сейчас уже так не пишут. Для анализа нужно что-то поновее подобрать.

Это сообщение отредактировал(а) Ghirik - 26.8.2008, 10:59


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.