ページのスクロールに合わせてユーザーを追跡するフローティング div を含む Web ページがあります。
このページは、jquery の slideToggle 機能を使用して展開および非表示にできる他の div で構成されています。
問題は、divを非表示にすると、divがページの上部に留まるのではなく非表示になるため、スクロールバーがページを下に移動することです。なぜこれが起こっているのですか?
スクロールのコード:
var scrollPos;
$().ready(function () {
var $scrollingDiv = $("#FloatingClaimToolBar");
$(window).scroll(function () {
var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
// global var
scrollPos = top;
$scrollingDiv
.stop()
.animate({ "marginTop": (top - 15) + "px" }, 0);
});
});
div が非表示になった後、フローティング div をページの上部に戻すためにこのメソッドを呼び出しますが、機能しません。
function AdjustToolBar(divID) {
var $scrollingDiv = $("#FloatingClaimToolBar");
$scrollingDiv
.stop()
.animate({ "marginTop": (window.scrollPos-15) + "px" }, 0);
}