Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему onmouseenter срабатывает много раз?

И. Ханнанов Профи (845), закрыт 4 года назад
Помогитеее! На сайте есть элемент div, внутри которого находится изображение. При наведении курсором на div, изображение должно сменяться каждую секунду. Собственно, когда навожу, mouseenter после первого изображения начинает срабатывать в геометрической прогрессии. В чем проблема, кто подскажет?

HTML

< i m g src='картинка1'>

СКРИПТ
var sint;
function slideshow_moments(jpegs) {
var i=0;
var arr_jpegs = jpegs.split(' ');

sint = setInterval(function() {

if (i<=49) {
$('#preview_film').html("");
i++;
}

}, 1000)

}
function exit_slideshow_moments(id_film) {
clearInterval(sint);
$('#preview_film').html("");
}
Дополнен 4 года назад
А если изображения не менять, то срабатывает только один раз, как и надо. Почему так?
Лучший ответ
Elepsis Eclipse Оракул (64090) 4 года назад
Наверно потому что setInterval-у пофиг на onload... он запускается через каждую секунду, а картинки могут догружаться и чуть позже, наступая друг другу на пятки... и не в "геометрической прогрессии" )

Если есть воспроизводимый код, его можно сюда → https://jsfiddle.net

Как вариант - можно использовать рекурсию. Функцию, которая в конце будет вызывать саму себя. И поставить её на onload.
Остальные ответы
Quatrix Мыслитель (5437) 4 года назад
в mouseout забыл запихать функцию exit_slideshow_moments наверное
Похожие вопросы