Время задержки на клик - PullRequest
7 голосов
/ 22 декабря 2008

Может ли кто-нибудь прислать мне код JavaScript о том, как я могу построить задержку от момента нажатия кнопки на странице до момента выполнения функции, вызванной нажатием кнопки. Я новичок в JavaScript, и у меня есть некоторый код, который выполняет функцию, когда я нажимаю кнопку, и я просто хочу иметь задержку.

Ответы [ 4 ]

7 голосов
/ 22 декабря 2008

Это Javascript:

 function myfunction() {
     alert( "delayed" );
 }

 var delay = 1000;

 setTimeout( myfunction, delay )

В этом суть. Теперь вам нужно подключить его к кнопке на html-странице: встроить определение функции в теги < script > ... < /script > и запланировать его в методе onClick.

....
<button onClick="setTimeout( myfunction, delay );">Click_And_Wait</button>
4 голосов
/ 22 декабря 2008

Если вам нужно передать параметры:

function clickHandler(id,value,delay)
{
    setTimeout( function() { actualFunction(id, value); }, delay );
}

function actualFunction(id, value)
{
    alert( 'button ' + id + ' has value = ' + value );
}


<input id='clickButton' type='button'
       onclick='clickHandler(this.id,this.value,5000);'
       value='Click Me' />
1 голос
/ 22 декабря 2008

Попробуйте функцию setTimeout:

setTimeout(functionToExecute, 1000)

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

0 голосов
/ 22 декабря 2008

Я бы посоветовал заглянуть в Prototype.js, особенно если вы новый разработчик для JavaScript. Prototype уже определил большинство наиболее распространенных потребностей, которые разработчики JavaScript хотят сделать в своем коде ... и Prototype делает это независимо от браузера. (есть и другие библиотеки JavaScript, которые тоже могут это делать)

Вы можете сделать это, как написано в других ответах ... но я обнаружил, что обычно я трачу меньше времени на беспокойство об ошибках в моем коде после того, как вложил деньги в хорошую Книгу и потратил 2 дня на чтение о Прототипе (или некоторых других Библиотека, как jQuery) против поиска в Интернете и копирования / вставки различных решений. / Пожав плечами

...