0

垂直方向にスクロールするときはdivの位置を固定しようとしますが、水平方向にスクロールするときはそれに従う必要があります。私はこのjqueryスクリプトを使用しました:

$(window).scroll(function(){
$(".navback").css('left',-$(window).scrollLeft()+10);
});

それは機能しますが、ウィンドウがdivよりも小さい場合に限ります。ウィンドウが大きい場合(したがって、左にスクロールできない場合)、scrollLeftは未定義であり、垂直方向にスクロールすると、divが横にシフトします。では、この場合、どうすればscrollLeftを定義できますか?

4

1 に答える 1

1

$(window).scrollLeft()undefined を返すべきではありません。ゼロでなければなりません。しかし、あなたの質問に答えるために

var left = $(window).scrollLeft() || 0;
$(".navback").css('left',-left+10);

また

var left = $(window).scrollLeft();
if(left !== undefined) {
    $(".navback").css('left',-left+10);
}
于 2013-02-19T13:51:44.073 に答える