似乎在ajax成功功能中重新加载信息框是试图将信息框放在其他地方,在firebug我可以看到它将其顶部更改为其他内容。如果早些时候它的顶部:-12.4635px;然后当我使用
然后它变成-4.46351px;当我点击信息框上的下一个或上一个按钮时,下一个和上一个按钮调用ajax动态更改其内容lastInfoWindow.setOptions({“content”:“其内容在这里”});
以前初始化的lastInfoWindow是这样的:
> var myOptions = {
> boxClass: "popup infoBox",
> content:boxText,
> disableAutoPan:true,
> maxWidth:0,
> pixelOffset: new google.maps.Size(-(ib_width/2), 0),
> zIndex: null,
> boxStyle: {
> background: "none",
> opacity: 1,
> width: ib_width+"px"
> },
> closeBoxMargin: "0px 0px 0px 0px",
> closeBoxURL: "/" + version_link + "/images/popup_close.png",
> infoBoxClearance: new google.maps.Size(1, 1),
> isHidden: false,
> pane: "floatPane",
> enableEventPropagation: false,
> marginBottom:mb,
> marginLeft:ml,
> grouped:group
> };
> var infoWindow = new InfoBox(myOptions);
> lastInfoWindow = infoWindow;
我尝试在某个变量中获取当前顶部位置,然后在ajax完成函数之后我尝试将其顶部更改为已保存的位置,但它不起作用,我使用setTimeout来延迟它但仍然无法正常工作。我现在还能做些什么。
答案 0 :(得分:0)
修改过的Infobox js文件
InfoBox.prototype.rePosition = function () {
if(cM_contentCurrentPos){
this.div_.style.top = cM_contentCurrentPos;
}
}
其中cM_contentCurrentPos包含前一个顶部位置。 我这样叫它
infoWindow.rePosition();