У меня есть операция страницы, которая использует что-то вроде:
$('#thetable tbody').replaceWith(newtbody);
в обратном вызове ajax. Иногда, если пользователь прокрутил страницу вниз, эта операция имеет понятный побочный эффект прокрутки страницы. Но замена кажется плавной для пользователя, поэтому немного раздражать, чтобы снова прокручивать назад. И так как newtbody
обычно имеет ту же высоту по вертикали, что и та, которую он заменил, мы должны сделать script сделать это вместо этого.
Теперь, поскольку я обнаружил, что выполнение:
$('body').scrollTop(300);
от консоли отладчика JS делает то, что я надеялся, я думал, что простым средством было бы:
var scrollsave = $('body').scrollTop();
$('#thetable tbody').replaceWith(newtbody);
$('body').scrollTop(scrollsave);
но не радость. Я еще не прибегал к jQuery.ScrollTo.