Javascript 垂直滚动时,如何防止未定义的向左滚动?

Javascript 垂直滚动时,如何防止未定义的向左滚动?,javascript,jquery,css,Javascript,Jquery,Css,当垂直滚动时,我试图保持div的位置固定,但当水平滚动时,它应该跟随。我使用了以下jquery脚本: $(window).scroll(function(){ $(".navback").css('left',-$(window).scrollLeft()+10); }); 它可以工作,但前提是窗口小于div。如果窗口较大(因此不能向左滚动),则当垂直滚动时,scrollLeft未定义,my div移到一边。 在这种情况下,我如何定义scrollLeft $(window).scrollLef

当垂直滚动时,我试图保持div的位置固定,但当水平滚动时,它应该跟随。我使用了以下jquery脚本:

$(window).scroll(function(){
$(".navback").css('left',-$(window).scrollLeft()+10);
});
它可以工作,但前提是窗口小于div。如果窗口较大(因此不能向左滚动),则当垂直滚动时,scrollLeft未定义,my div移到一边。 在这种情况下,我如何定义scrollLeft

$(window).scrollLeft()
不应返回undefined,它应为零。但要回答你的问题

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


如果
$(窗口)。scrollLeft()
未定义,请不要设置
left
CSS属性?这样,如果没有水平滚动条,它的水平位置就不会发生任何变化。
scrollLeft
应该返回
0
not
undefined
。。。如果元素不可滚动,则该数字将为0。它仍然不起作用。奇怪的是,即使我在里面放了一个警告,如果不是未定义的条件,我得到这个警告,它告诉我:未定义<代码>var left=$(窗口).scrollLeft();如果(left!==undefined){alert(window.scrollLeft),$(“.navback”).css('left',-left+10);}但是它会产生很多警报,这有点烦人。看看你在提醒什么<代码>警报(窗口。向左滚动)!==<代码>$(window).scrollLeft()~不,window.scrollLeft与$().scrollLeft()不同。你在提醒错误的事情<代码>$(窗口)。scrollLeft()是
0
窗口。scrollLeft
未定义的
。确定。谢谢最初的问题是在其他地方,我没有意识到,因为我认为这两件事是一样的。
var left = $(window).scrollLeft();
if(left !== undefined) {
    $(".navback").css('left',-left+10);
}