Javascript jQuery:你能在不使用css的情况下让一个元素粘在croll上吗position:fixed?
或者有人能告诉我另一种不用插件的方法吗 我在左边有一个侧导航,在右边有一些内容。两个元素都向左浮动 当侧导航从窗口顶部向下滚动到125px时,我希望侧导航“粘住” 我觉得我已经很接近了,但我肯定还没有到达那里!根据我写的代码,一旦我们滚动到正确的窗口位置,侧导航“跳”到窗口顶部,然后返回到我希望它“粘住”的位置 另一个问题是,一旦应用了.stick类,元素就会从文档流中移除,因为我正在应用一个位置:fixed;然后.内容移到左边以取代它的位置 这是一个密码笔: **注意:似乎我无法在滚动窗口上重新创建侧导航“跳跃”到窗口顶部,因此我不知道这是怎么回事,但我仍然想知道在内容不移到左侧的情况下如何正确执行此操作** 如果有人能指引我正确的方向,那就太好了。多谢各位 这是我的降价:Javascript jQuery:你能在不使用css的情况下让一个元素粘在croll上吗position:fixed?,javascript,jquery,sticky,Javascript,Jquery,Sticky,或者有人能告诉我另一种不用插件的方法吗 我在左边有一个侧导航,在右边有一些内容。两个元素都向左浮动 当侧导航从窗口顶部向下滚动到125px时,我希望侧导航“粘住” 我觉得我已经很接近了,但我肯定还没有到达那里!根据我写的代码,一旦我们滚动到正确的窗口位置,侧导航“跳”到窗口顶部,然后返回到我希望它“粘住”的位置 另一个问题是,一旦应用了.stick类,元素就会从文档流中移除,因为我正在应用一个位置:fixed;然后.内容移到左边以取代它的位置 这是一个密码笔: **注意:似乎我无法在滚动窗口上重
<body>
<nav>navigation content</nav>
<header>header content</header>
<div class="container clearfix">
<div class="side-nav">THIS IS THE THING I WANT TO STICK</div>
<div class="content">This needs to stay to the right of the .side-nav</div>
</body>
下面是我的jQuery:
var sn = $(".side-nav");
var pos = sn.position();
$(window).scroll(function() {
var windowPos = $(window).scrollTop();
if (windowPos >= pos.top - 125) {
sn.addClass("stick");
} else {
sn.removeClass("stick");
}
});
要解决这个问题,您只需在.content中添加一个左边距并删除float。这样,内容的位置不依赖于导航是否在那里
.content {
width: 70%;
margin-left: 25%;
}
天哪!我知道这是一件很简单的事情,我只是没有看到!谢谢,没问题。很高兴我能帮忙。
.content {
width: 70%;
margin-left: 25%;
}