添加后,我很难访问叠加层的内容。我添加了一个叠加层,其中包含一个具有特定类的div。如果我稍后尝试使用jQuery修改此类的CSS,则没有任何反应。
最终我要做的是加载地图,然后在每个地图之间略微延迟淡化叠加层阵列 - 不是通过点击或鼠标悬停触发,只需在加载地图后。
我理想的代码是:
<script>
var twitmarkers = [];
$(function(){
$('#map').gmap3({
action:'init',
options:{
center:[55.944878,-3.187469],
zoom: 15,
mapTypeId: google.maps.MapTypeId.SATELLITE
}
},
{
action: 'addMarker',
latLng:[55.944878,-3.187469],
data: "Remember When..?",
options:{
icon:"icon_youarehere.png"
}
}
);
twitmarkers = document.getElementById("tw").getElementsByTagName("marker");
$.each(twitmarkers, function(i) {
var lat = val.getAttribute("lat");
var lng = val.getAttribute("lng");
var text = val.getAttribute("content");
var img = val.getAttribute("user");
var name = val.getAttribute("name");
$('#map').gmap3({
action:'addMarker',
latLng:[lat, lng],
options:{
icon: "icon_twit.png"
}
},
{
action:'addOverlay',
latLng:[lat, lng],
content: '<div class="infoBox"><div class="tweet"><img src="' + img + '" /><h1>' + name + '</h1><p>' + text + '</p></div></div>',
offset: {
x:0,
y:0
}
}
);
});
});
</script>
/*** other stuff ****/
<script>
$('.infoBox').each(function (i) {
$(this).delay(1000*i).fadeIn();
});
</script>
我尝试在单独的函数中执行addOverlay并在$ .each循环中使用setTimeout调用它,但根本没有任何内容加载。
我是用JavaScript做出一个荒谬的错误,还是完全错过了其他的东西,还是比我想象的要难得多?