У меня проблемы с плагином jQuery scrollTo. У меня 2 DIVs (nav2
и content
) и я их заполнение с помощью Ajax звонки:jQuery scrollTo Проблема с прокруткой двух DIVs
var myJs = { ...
getWithAjax : function(targetFile, targetDivId, anchorId) {
// get is jquery function and wraps ajax call
$.get(targetFile, function(data) {
$('#'+targetDivId).html(data);
if(anchorId !== null){
myJs.doScrollTo(targetDivId, anchorId);
}
});
},
go : function(file1, file2) {
var file1Array, file2Array = new Array();
if(file1 !== null){
file1Array = this.splitLinkFromAnchor(file1);
// update nav2 div
this.getWithAjax(file1Array[0], "nav2", file1Array[1]);
}, //... same with file2 but other div "content"
doScrollTo : function(divId, anchorId) {
$('#' + divId).scrollTo('#' + anchorId, 0);
}
// ... further functions
} // end of object literal
Как вы видите, после получения контента я добавляю его, а затем попытаться перейти к определенной позиции в этот целевой div через anchorId. Это делается с помощью функции doScrollTo
, которая обертывает функцию jQuery-Plugin scrollTo
. go
- это оболочка для вызовов ajax. Перед выполнением get-Requests он извлекает имя файла и идентификатор (split by '#') из заданных входных параметров. Вот как все это называется:
myJs.go('file_a.html#anchor1', 'file_b.html#anchor2');"
EDIT: С одной DIV, то nav2
ДИВ, все работает отлично. Но другой DIV content
иногда прокручивается, иногда нет. А также, если он прокручивается, и я перемещаю полосу прокрутки DIV вверх, а затем снова вызываю go
, она больше не прокручивается. И, как я уже сказал, все это прекрасно работает с nav2
DIV ...
Кто-нибудь понял, что я делаю неправильно?
Спасибо.
ТНХ, это было решение валь ошибки. Я имею в виду, это способ работы асинхронного вызова .... :) , но еще одно неправильное поведение все еще существует => Я редактировал свой вопрос. – sebastianwerler