我想让div right
在用户滚动时停留在屏幕上。这是示例情况:https://jsfiddle.net/gwjehuzf/
我尝试了很多,但是没有成功。像这样:
$(window).scroll(function () {
if ($(document).scrollTop() > 400) {
console.log("a");
var newPos = $(document).scrollTop() + 400;
$('.right').css({ top: newPos });
}
else {
$('.right').css({ top: 400 });
}
})
由于某种原因无法正常工作。有什么想法吗?
答案 0 :(得分:4)
只需使用css .right {position:sticky;顶:0;溢出:隐藏;}
答案 1 :(得分:2)
只需添加一些 CSS ,我们将解决您的问题。谢谢
.right {
position: fixed;
right: 0;
width: calc(100% - 200px);
}
答案 2 :(得分:1)
在您的代码中添加此CSS
.right {
position: sticky;
top: 5px;
}
答案 3 :(得分:0)
不需要JavaScript。在position: fixed
格中使用.right
。
如果消失,则给它一个宽度(大约80%)并加上right: 0
:
.right {
position: fixed;
width: 80%;
right: 0;
}
答案 4 :(得分:0)