2014-02-08 33 views
0

我有一個谷歌地圖在我的網頁上交替使用jQuery圖像。 我的谷歌地圖偵聽器查找mouseover和mouseout事件,並停止與圖像的交替,但這種方式只能工作一次,而偵聽器似乎被刪除,所以我可以通過移動鼠標來「暫停」地圖以查看它結束,然後通過鼠標移出地圖來恢復「交替」,但是當我想暫停動畫以再次查看地圖時,它不會暫停。我似乎無法迴應聽衆。谷歌地圖監聽只能工作一次,jQuery

我的jQuery

function switchBox() { 
    $('#imagebox7img').toggle('slow', 'linear'); 
    $('#map-canvas').toggle('slow', 'linear'); 
} 

$('#imagebox7img').hide(); 

var interval = setInterval(switchBox, 5000); 

谷歌地圖代碼:

var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 


google.maps.event.addDomListener(map, 'mouseover', function() { 
mouseoverInterval(map); 
}); 

google.maps.event.addDomListener(map, 'mouseout', function() { 
mouseoutInterval(map); 
}); 


    function mouseoverInterval(map) { 
     clearInterval(interval); 
     } 

    function mouseoutInterval(map) { 
     setInterval(switchBox, 5000); 
     } 

} 
+0

pageinit中的監聽器? –

+0

我只使用了$(document).ready(function(){ – ESavage

+0

嘗試在pageinit中運行。 –

回答

0

問題是方法:

function mouseoutInterval(map) { 
    setInterval(switchBox, 5000); 
} 

其設定區間回來,但變量處理interval沒有重新設置。它應改爲

function mouseoutInterval(map) { 
    interval = setInterval(switchBox, 5000); 
} 

此外,我會使用addListener()