JavaScript: Как я могу остановить SetTimout перезагрузить мою страницу? - PullRequest
1 голос
/ 21 февраля 2012

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

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

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

Ответы [ 2 ]

2 голосов
/ 21 февраля 2012

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

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

Редактировать:

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

Edit2:

Да, это не так ....

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

Edit3:

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

0 голосов
/ 21 февраля 2012

Я не уверен, что на 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)
...