2012-02-21 4 views
1

У меня есть функция, которая устанавливает display=none в строке таблицы. В конце моей функции я хочу установить тайм-аут, чтобы скрыть следующую строку таблицы через несколько миллисекунд.JavaScript: Как я могу остановить SetTimout, перезагружая мою страницу?

У меня проблема. По истечении таймаута страница перезагружается (отменяет действие моей функции и прокручивается на верх страницы). Это даже происходит, если я использую пустой тайм-аут: window.SetTimeout(function() { ; }, 1000); Как я могу остановить это?

Я использую недавний Chromium.

+4

Больше кода было бы хорошо. –

+4

setTimeout не перезагружает страницу самостоятельно ... – VirtualTroll

+0

Я надеялся, что на это будет легко ответить без лишних подробностей. Я буду конденсировать мои для легкой публикации, brb ... – paperjam

ответ

2

Я думаю, ваша проблема в другом месте, не обращая внимания на очевидную ошибку, что вы накладную SetTimeout неправильно (это должно быть setTimeout).

В вашем коде не было ничего, что должно обновить страницу.

Edit:

Просто подумал о чем-то, так как вы обсаженных SetTimeout неправильно, может быть, ваш обработчик щелчка не заканчивается, как должно, таким образом, давая ссылку «пройти через» и загрузить страницу.

Edit2:

Ха, то не так ....

http://jsfiddle.net/eGhQM/6/

Edit3:

... и, возможно, это (х-то, ошибка на скрипке) http://jsfiddle.net/eGhQM/9/

+0

Я думаю, что эта ошибка была причиной ... проверки – paperjam

-1

Я не уверен, что на 100% понимаю вопрос, но вы можете использовать clearTimeout, если вы храните установленный вами таймаут. То есть:

var timeout = setTimeout(function(){ 
    alert('Hello, world!'); 
}, 1000); 

... 
clearTimeout(timeout); // destroys the timeout, preventing it from occurring 
         // (assuming you call this before the time expires) 
Смежные вопросы