【发布时间】:2014-02-08 14:16:22
【问题描述】:
我的页面上有一个谷歌地图,它与使用 jQuery 的图像交替出现。 我的谷歌地图侦听器查找 mouseover 和 mouseout 事件并停止与图像的交替,这有效,但仅有效一次,并且侦听器似乎已被删除,因此我可以通过将鼠标移到“暂停”地图来查看它,并在鼠标离开地图时恢复“交替”,但是当我想暂停动画以再次查看地图时,它不会暂停。我似乎无法对听众做出反应。
我的 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);
}
}
【问题讨论】:
-
监听器在pageinit中吗?
-
我只用过$(document).ready(function() {
-
如果可行,请在 pageinit 中尝试。
-
如果我使用 $(document).on("pageinit",function(){,地图不会加载
-
你必须在
mouseoutInterval()函数中设置interval = setInterval(switchBox, 5000);。另外,我会使用addListener()
标签: javascript jquery google-maps google-maps-api-3