2017-01-20 56 views
0

當鼠標懸停在div上時,試圖獲得連續運行的功能。 如何讓repeat()函數僅在鼠標懸停在div上時運行?鼠標懸停時反覆運行功能

function repeat(){ 
    window.setInterval(console.log("Mouse is on image"), 1000)}; 
$("div.mainGif").mouseover(repeat()); 

我也嘗試過使用匿名函數這種方式,

$("div.mainGif").mouseover(function(){window.setInterval(console.log("Mouse is on image"), 1000)}); 

但是,這並不在所有的工作。

+1

它必須是'$(「div.mainGif」)鼠標懸停(重複);'因爲你都應該傳遞'函數'到'mouseover()'(不是那個函數返回的)。 – connexo

+0

好吧,我做了這個改變,但仍然無法正常工作。謝謝 –

+1

你需要傳遞一個函數給'setInterval'。檢查我更新的答案。 – connexo

回答

2

檢查這一點,並給我們一個音符是怎麼回事:

var interval; 
function repeat(){ 
    interval = window.setInterval(function() { console.log("Mouse is on image") }, 1000) 
}; 
$("div.mainGif").on({ 
    mouseover: repeat, 
    mouseout: function() { window.clearInterval(interval); } 
}); 
+0

優秀的工作和清除設置的時間間隔。我也使用div犯了一個錯誤。因爲這個類在img標籤上,所以我需要img.mainGif或者.mainGif。再次感謝! –