Невозможно поместить информационный блок в предыдущее положение при повторной загрузке с использованием ajax

Кажется, что перезагружая инфобокс внутри функции успеха ajax пытается позиционировать инфобокс где-то еще, в firebug я вижу, что он меняет свою вершину на что-то другое. Если раньше его вершина: -12.4635px; тогда, когда я использую

lastInfoWindow.setOptions({"content":"его содержимое здесь"});

тогда это становится -4.46351px; когда я нажимаю на следующую или предыдущую кнопку в информационном блоке, следующая и предыдущая кнопки вызывают ajax для динамического изменения содержимого

где ранее инициализированное 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, чтобы задержать ее, но все же она не работает. Что еще я могу сделать сейчас.

1 ответ

Решение

Измененный файл Infobox js

InfoBox.prototype.rePosition = function () {
    if(cM_contentCurrentPos){
          this.div_.style.top = cM_contentCurrentPos;
    }
}

где cM_contentCurrentPos содержит предыдущую верхнюю позицию. Я назвал это так

infoWindow.rePosition();
Другие вопросы по тегам