| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Выполнение JavaScript по нажатию кнопки |
| Автор: Chate 16.9.2016, 17:34 |
| Здравствуйте. Пожалуйста, помогите в следующей ситуации: решила сделать на своей страничке падающих овечек (вместо снежинок:). По замыслу они должны падать при нажатии кнопки. Ситуация: кнопка есть, но овечки падают сразу же при загрузке страницы без нажатия на кнопку. Что у меня не так в кодах? Коды ниже. Большое спасибо. HTML-документ: <html> <head> <title> Моя первая страница </title> <link href="style2.css" rel="stylesheet" type="text/css"> <a href="#" class="cursor"> <script src="JS.js"></script> </head> <body link="#000000" alink="#6A5ACD" vlink="#cecece"> <input type="button" name="enter" value="Нажать" id="check" onClick="new Array()"/> <table cellpadding="0" cellspacing="0" align="center"> <tr> <td colspan="2" width="1780" height="165" background="Бежевый фон для шапки.JPG"> <font color="#D2691E" size="20" </font> <p align="center"> Мир фэнтези </p> <img src="Два дракона.JPG" width="150" height="165" align="absmiddle"> </td> <tr> <td colspan="2" width="100%" height="30%" background="Фон для шапки 2.JPG"> <font color="#9400D3" size="5" Список существ </font> <p align="center"> <a href="spisok.html" > <button> <img src = "Маленький дракон.JPG"> Cписок существ </a></button> </a> </p> </td> <tr> <td colspan="2" width="780" height="38" background="Фон для страниц.JPG"> <font style="color:#FF4500; font-size:25; font-family:Arial" </font> <p align="center"> <i> Фэнтези (от англ. fantasy — «фантазия») — вид фантастической литературы, основанный на использовании мифологических и сказочных мотивов. В современном виде сформировался в начале XX века. Произведения фэнтези чаще всего напоминают историко-приключенческий роман, действие которого происходит в вымышленном мире, близком к реальному Средневековью, герои которого сталкиваются со сверхъестественными явлениями и существами. </i> </p> </td> <tr> <tr> <td colspan="2" width="780" height="38" background="Бежевый фон для шапки.JPG" "> </td> </tr> </table> </body> </html> Код в JavaScrypt документе: var imgsrc="Овечка.gif"; var ie4=(document.all)?1:0; var ns6=(document.getElementById&&!document.all)?1:0; var height=(document.layers)?window.innerHeight:window.document.body.scrollHeight; if (height<window.document.body.clientHeight) height=window.document.body.clientHeight; var width=(document.layers)?window.innerWidth:window.document.body.clientWidth; var col=Math.round(height/50); //количество снежинок amp=new Array(); x_pos=new Array(); y_pos=new Array(); stx=new Array(); sty=new Array(); deltax=new Array(); obj=new Array(); for (i=0; i<col; ++i) { amp[i]=Math.random()*19; x_pos[i]=Math.random()*(width-amp[i]-29); y_pos[i]=Math.random()*height; stx[i]=0.03+Math.random()*0.25; sty[i]=2+Math.random(); deltax[i]=0; if (ie4||ns6) { document.write("<img id=\"sn"+ i +"\" style=\"position:absolute;" + "z-index: "+ i +"; visibility:visible; top:-50px; left:-50px;\"" + "src='"+imgsrc+"' border=0>"); } obj[i] = document.getElementById("sn"+i); } function flake() { for (i=0; i<col; ++i) { y_pos[i]+=sty[i]; if (y_pos[i]>height-49) { x_pos[i]=Math.random()*(width-amp[i]-29); y_pos[i]=0; } deltax[i]+=stx[i]; obj[i].style.top=y_pos[i]+"px"; obj[i].style.left=x_pos[i]+amp[i]*Math.sin(deltax[i])+"px"; } setTimeout("flake()", 40); } flake(); |
| Автор: igorold 17.9.2016, 19:35 |
| убери из кода flake(); и повесь на кнопку эту функцию ... Правда видимо придется часть кода выводить в функцию, которая иницилизирует картинки .. ну уже сам подумай ... |
| Автор: Starikan 25.9.2016, 18:22 | ||
| igorold, парень, ты слишком замудрил всё намного проще вот тебе решение, сразу кодик накатал тебе чисто
|
| Автор: igorold 27.9.2016, 06:57 |
| ... что это было ... |
| Автор: Starikan 28.9.2016, 17:46 |
что именно тебе не понятно? давай объясню |
| Автор: _zorn_ 28.9.2016, 18:21 | ||
Ну лично мне не понравилось
Хотя остальной код даже не смотрел |