Прежде всего, animate () - это встроенная функция Element.Если вы наведите курсор мыши, вы получите сообщение об ошибке в консоли.
Ответ Маурисио Сипмана работает, но он не ответил на ваш вопрос: «По моему мнению, можно ли поместить setInterval в эту анимацию?(), тогда эта проблема будет решена, но как поместить setInterval внутри функции ?? '.
Вот почему я даю другое решение.И мой ответ - да.Но давайте сначала переименуем animate () в myAnimate ().
изменим <img width="256px" height="256px" onmouseover="animate()"/>
на <img width="256px" height="256px" onmouseover="myAnimate()"/>
переместим setInterval () вmyAnimate (), но объявление переменной осталось за пределами .ie
var positioner = 0;
var ames;
function myAnimate() {
if (!ames) {
ames = setInterval(myAnimate, 200);
}
if (positioner <= 1000) {
document.getElementsByTagName('img')[0].style.backgroundPosition = '-' + positioner + 'px';
positioner += 256;
} else {
document.getElementsByTagName('img')[0].style.backgroundPosition = '-' + positioner + 'px';
positioner = 0;
}
}
Надеюсь, это поможет вам.