Если вы просто не делаете это как упражнение, чтобы узнать больше о JavaScript, лучшим вариантом, чем домашнее слайд-шоу, вероятно, будет использование библиотеки DOM.Существует довольно хорошее руководство по созданию слайд-шоу с jQuery в SixRevisions.
Существует также несколько готовых плагинов для слайд-шоу для различных библиотек DOM, в jQuery есть куча .
Если бы вы продолжали использовать текущий код, чтобы создать паузу при наведении курсора, вам сначала нужно создать переменную и сохранить в ней результат setTimeout()
.
var timer;
timer = setTimeout(slideIt, 5000); // note I just passed the function name instead
// of quoting an invocation. Using "slide()"
// creates an unnecessary eval() call.
Затем можно использовать переменную timer
для вызова clearTimeout()
в событии наведения мыши, которое вы прикрепляете к изображению.Вам также потребуется прикрепить событие mouseout, чтобы снова вызвать setTimeout()
, чтобы перезапустить слайд-шоу.Тем не менее, это ситуация, которую вы действительно должны использовать setInterval()
и clearInterval()
вместо setTimeout()
.
Вам не нужны <!--
и //-->
, если вы не ожидаете, что кодработать в древних браузерах, таких как Netscape 1.0 и IE 2;Все современные браузеры понимают JavaScript и не нуждаются в этом хакере, чтобы скрыть JS.