1
$(document).ready(function () {

$(function () {
    var offset = $(".control.Home .rightCol").offset();
    var topPadding = 15;
    $(window).scroll(function () {
        if ($(window).scrollTop() > offset.top) {
            $(".control.Home .rightCol").stop().animate({
                marginTop: $(window).scrollTop() - offset.top + topPadding
            });
        } else {
            $(".control.Home .rightCol").stop().animate({
                marginTop: 0
            });
        };
    });
});
});

ページを下にスクロールすると、右側の div が下にスクロールし続けます。ローカルホスト上にあるため、現時点ではリンクを表示できません。左側のdivが停止する特定のポイントでdivを停止させるにはどうすればよいですか?

ウェブサイト: http://goo.gl/OSiH5

div のスクロールが表示される場所にリンクが追加されました。スクロール アイコンがあるフッターの前で停止する必要があります

4

1 に答える 1

2

私は自分のサイトの 1 つでこのコードを使用しました。

var scroll = 0;
var marginTop = 10;
$(document).ready(function(){  
    $(window).scroll(function () {
        marginTop = ($(document).scrollTop() - scroll) + marginTop;
        scroll = $(document).scrollTop();

        $("#left").animate({"marginTop": marginTop+"px"}, {duration:500,queue:false} );
    });  
});

#leftスクロールに続いて上下に移動するdivです。

ライブで見ることができます: realtimecoding.net

編集: スクロールを停止する必要がある場合は、たとえば 660px で検証を追加できます。次のようになります。

var scroll = 0;
var marginTop = 10;
$(document).ready(function(){  
    $(window).scroll(function () {
        marginTop = ($(document).scrollTop() - scroll) + marginTop;
        scroll = $(document).scrollTop();

        if (marginTop<660) {
            $("#left").animate({"marginTop": marginTop+"px"}, {duration:500,queue:false} );
        }
    });  
});

660px マージンの上を超えないようにします。

于 2013-02-22T16:07:16.097 に答える