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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение JavaScript по нажатию кнопки 
:(
    Опции темы
Chate
Дата 16.9.2016, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Пожалуйста, помогите в следующей ситуации: решила сделать на своей страничке падающих овечек (вместо снежинок:). По замыслу они должны падать при нажатии кнопки. Ситуация: кнопка есть, но овечки падают сразу же при загрузке страницы без нажатия на кнопку. Что у меня не так в кодах? Коды ниже. Большое спасибо. 

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();

 



PM MAIL   Вверх
igorold
Дата 17.9.2016, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



убери из кода flake();

и повесь на кнопку эту функцию ... 

Правда видимо придется часть кода выводить в функцию, которая иницилизирует картинки .. ну уже сам подумай ... 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Starikan
Дата 25.9.2016, 18:22 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: -2
Всего: -15



igorold, парень, ты слишком замудрил
всё намного проще

вот тебе решение, сразу кодик накатал тебе чисто

Код


function buddy_pop() { window.open('index.php?act=buddy&s=','BrowserBuddy','width=250,height=500,resizable=yes,scrollbars=yes'); }
function chat_pop(cw,ch)  { window.open('index.php?s=&act=chat&pop=1','Chat','width='+cw+',height='+ch+',resizable=yes,scrollbars=yes'); }
function multi_page_jump( url_bit, total_posts, per_page, ajax_s, ajax_e )
{
pages = 1; cur_st = parseInt("0"); cur_page  = 1;
if ( total_posts % per_page == 0 ) { pages = total_posts / per_page; }
else { pages = Math.ceil( total_posts / per_page ); }
msg = "Введите номер страницы, к которой хотите перейти." + " " + pages;
if ( cur_st> 0 ) { cur_page = cur_st / per_page; cur_page = cur_page -1; }
show_page = 1;
if ( cur_page <pages )  { show_page = cur_page + 1; }
if ( cur_page>= pages ) { show_page = cur_page - 1; }
else { show_page = cur_page + 1; }
userPage = prompt( msg, show_page );
if ( userPage > 0  ) {
if ( userPage <1 )     {    userPage = 1;  }
if ( userPage> pages ) { userPage = pages; }
if ( userPage == 1 )    {     start = 0;    }
else { start = (userPage - 1) * per_page; }
if ((typeof(ajax_s)=='string')&&(typeof(ajax_e)=='string')&&(ajax_s!='')&&(ajax_e!=''))
{var r_1 = new RegExp('\%22','g'),
r_2 = new RegExp('\%27','g'),
ajax = ajax_s+start+ajax_e;
ajax = ajax.replace(r_1, "\"");
eval(ajax.replace(r_2, "'"));
} else
{var r = new RegExp('(\/index)?\.html\&st=([0-9]+)\s*$','i'),
s = "";
s = url_bit+"&st=" + start;
window.location = s.replace(r, "/$2.html");
}
}
}


PM MAIL   Вверх
igorold
Дата 27.9.2016, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



... что это было ...  smile 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Starikan
Дата 28.9.2016, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: -2
Всего: -15



Цитата(igorold @  27.9.2016,  06:57 Найти цитируемый пост)
... что это было ...  smile  


что именно тебе не понятно? давай объясню
PM MAIL   Вверх
_zorn_
Дата 28.9.2016, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1076
Регистрация: 21.8.2007

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



Цитата(Starikan @  29.9.2016,  00:46 Найти цитируемый пост)
что именно тебе не понятно? давай объясню 

Ну лично мне не понравилось
Код
eval(ajax.replace(r_2, "'"));

Хотя остальной код даже не смотрел smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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