1

ページのさらに下にあるid page_block_422のdivを取得する次のjavascript/jQueryコードがあり、クラスを使用して固定配置を適用して、スクロールした後、ウィンドウの上部に留まるようにします。スクロールして一番上に戻ると、そのまま残ります。私が抱えている問題は、その下に他の DIV があり、固定された配置によりそれらの上に移動することです。

私が試したこと

jQuery:

    var s = $("#page_block_422");
    var pos = s.position();
    var newWidth = s.parent().width();
    //s.addClass("stick");
    s.css("width", newWidth - 10 + "px");


$(window).scroll(function(){
        var windowpos = $(window).scrollTop();

if (windowpos > pos.top) {
    s.addClass("stick");
    s.css("top",Math.max(0,860-$(this).scrollTop()));
    s.css("position","fixed");

} else {
    s.removeClass("stick");
    s.css("position","relative");
}

CSS:

.stick {
    position: relative;
    top:0px;
    z-index: 999;
    width: inherit;
}

if 関数の演算子を >=, <=, < に変更して、異なる結果を得るようにしました。

これに関する助けをいただければ幸いです。前もって感謝します。

4

1 に答える 1

0

else を使用する代わりに、別の if を記述します。

if (windowpos > pos.top) {
    s.addClass("stick");
    s.css("top",Math.max(0,860-$(this).scrollTop()));
    s.css("position","fixed");

} 
if (windowpos < pos.top) {
    s.removeClass("stick");
    s.css("position","relative");
}
于 2013-08-17T03:01:58.303 に答える