如何在使用jquery滚动一段时间后停止div
我希望div垂直固定在定义的滚动级别上。我试过这个: HTML: JQuery:如何在使用jquery滚动一段时间后停止div,jquery,css,Jquery,Css,我希望div垂直固定在定义的滚动级别上。我试过这个: HTML: JQuery: $(window).scroll(function(){ if ($window.scrollTop() > 50){ $("#something").css({"top": ($(window).scrollTop()) -50 + "px"}); } }); 下面是一个演示: (#某些操作应与#headerMenu相同,但在一些滚动之后) 而我不想改变位置被固定 我对JQ
$(window).scroll(function(){
if ($window.scrollTop() > 50){
$("#something").css({"top": ($(window).scrollTop()) -50 + "px"});
}
});
下面是一个演示:
(#某些操作应与#headerMenu相同,但在一些滚动之后)
而我不想改变位置被固定
我对JQuery不是很熟悉,所以我猜它只是一些偏执,或者是一个选择器,或者
提前谢谢 您忘记将$(窗口)
括在括号中
您会注意到,在Javascript控制台中查看时,会出现以下错误: 未捕获引用错误:$未定义窗口 正如@matt ball在上面的评论中所说,为了鼓励良好的代码实践,请在请求他人帮助之前始终查看错误控制台。代码的问题在于没有使用jQuery选择器选择全局
窗口。相反,您选择的是一个不存在的变量。尝试以下方法
$(window).scroll(function(){
if ($(window).scrollTop() > 50){
$("#something").css("top", $(window).scrollTop() - 50 + "px");
} else {
$("#something").css("top", "0px");
}
});
此外,如果更容易理解发生了什么,您可以将第二个$(窗口)
更改为$(此)
。查看浏览器的错误控制台。可能的重复我认为它不是真正的重复,因为我发现的所有其他尝试(包括您上面发布的尝试)正在通过将位置从绝对位置更改为固定位置来解决问题。(但这个问题可能仍然无关紧要,因为我解决这个问题的尝试没有成功,因为缺少括号,也不是因为做了其他事情而不是改变位置)还有一个“else”部分似乎很有用:else{$(“#something”).css({“top”:0+“px”})}
否则快速向后滚动时div的位置可能会错误。使用if和else部分进行演示:+1 else部分是重要的!谢谢
$(window).scroll(function(){
if ($window.scrollTop() > 50){
$("#something").css({"top": ($(window).scrollTop()) -50 + "px"});
}
});
$(window).scroll(function(){
if ($(window).scrollTop() > 50){
$("#something").css("top", $(window).scrollTop() - 50 + "px");
} else {
$("#something").css("top", "0px");
}
});