Я довольно новичок в работе с javascript и jquery и не могу понять, что такое settimeout.
Что я пытаюсь сделать, это запустить таймер одним нажатием. Он будет перемещать страницу туда, где есть ввод для ввода электронной почты. Если через 20 секунд ничего не набирается, я хочу, чтобы он что-то сделал. Но если они что-то введут, я бы хотел, чтобы 20-секундный таймер сбрасывался на 20 секунд. И, наконец, если форма отправлена, я хочу, чтобы тайм-аут был отменен.
$('#button').click(function(){
$('#pane').scrollTo( '1000px', 500);
setTimeout(goback, 20000);
function goback() {
$('#pane').scrollTo ('0px', 500);
$('#input').keyup(function(){
clearTimeout(goback);
setTimeout(goback, 20000);
};
$('#submitemail').click(function(){
//form submit stuff
clearTimeout(goback);
});
Не могли бы вы указать мне правильное направление ... спасибо.
var timer;
$('#button').click(function(){
$('#pane').scrollTo( '768px', 0 );
$('#emailinput').delay(1000).focus();
$('#slide2fadeout').css("display", "block").fadeOut();
timer = setTimeout(goback, 20000); //in 20 seconds start goback function
function goback(){
$('#like').scrollTo( '0px', 0 ); //scroll back to top
$('#emailinput').val(''); //clear any partial entry
};
$('#emailinput').keyup(function(){
clearTimeout(timer);
timer = setTimeout(goback, 20000);
};
});
Вот мой настоящий код ... похоже, он не работает правильно. Любая помощь приветствуется .. Спасибо.