2015-08-03 4 views
0
<script type="text/javascript"> 
var images=["cod.jpg","cod2.jpg","cod3.jpg","cod4.jpg"]; 
var i=0; 
window.onload=function(){ 
changeimage(); 
var stopinterval = setInterval(changeimage,3000); 
} 
function changeimage(){ 
if(i==images.length||i>images.length){ 
    i=0; 
} 

document.getElementById('metroslider').src=images[i]; 
i++; 

} 
function stopanim(){ 
    clearInterval(stopinterval); 
    } 
</script> 

** тело ниже **Как очистить интервал от мыши в скрипте java?

<div class="sliderbtns" onMouseMove="stopanim();"> 

но не работает, пожалуйста, помогите мне, как остановить интервал с помощью функции On mousOver. Спасибо.

+0

Declare 'stopinterval' переменную outerside' window.onload' и связывать 'mouseleave' или' mouseout' события – Satpal

+0

да спасибо братан ... это работает, но как запустить его снова? ? Я добавил функцию mouseOut, но не работает! –

ответ

0

var images = ["cod.jpg", "cod2.jpg", "cod3.jpg", "cod4.jpg"]; 
 
var i = 0; 
 
var stopinterval; 
 
window.onload = function() { 
 
    changeimage(); 
 
    stopinterval = setInterval(changeimage, 333); 
 
} 
 

 
function changeimage() { 
 
    document.querySelector('div').innerHTML = i; 
 
    i++; 
 

 
} 
 

 
function startAnim() { 
 
    if (stopinterval === null) { 
 
    stopinterval = setInterval(changeimage, 333); 
 
    } 
 
} 
 

 
function stopanim() { 
 
    if (stopinterval) { 
 
    clearInterval(stopinterval); 
 
    stopinterval = null; 
 
    } 
 
}
<div onmouseover="stopanim()" onmouseout="startAnim()">mouse over to stop</div>

+0

Как вы заметили, stopinterval объявлен как глобальная переменная. В противном случае stopanim() не может получить к нему доступ. – Masterakos

+0

да спасибо брату ... он работает, но как начать его снова ?? Я добавил функцию mouseOut, но не работает! –

+0

Да, теперь его хорошо работает ... спасибо Дорогой ..... но у меня есть путаница, если вы можете объяснить. Почему мы использовали условие «если» для остановки анимации, хотя в первом случае оно было остановлено просто путем очистки интервала ???? почему только эта доза не работает .... функция stopanim() { clearInterval (stopinterval); stopinterval = null; } } –

Смежные вопросы