1
我有2个div(一个是固定的,另一个是相对的) 我在一个固定的内部实现了滚动行为...与页面一起滚动。我想要做的更多的是当固定的一个div被滚动到底部时,这应该停止滚动,只有页面应该继续滚动。 我不知道我是否很清楚,所以我创建了fiddle。在固定div内停止滚动
<style>
body {
background-color:#dddddd;
margin: 0;
}
#mainDiv{
top: 120px;
max-width: 1024px;
margin:0px auto;
background-color:#fff;
}
#leftDiv{
width: 30%;
float: left;
background-color: #DBEAED;
height: 300px;
top: 1em;
z-index: 999;
position: fixed;
overflow: hidden;
}
#rightDiv{
width: 68%;
padding-left: 2%;
float: right;
background-color: #FBE9DD;
}
#filters{
display: inline-block;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
window.onscroll = scrollFunction;
function scrollFunction() {
var doc = document.documentElement, body = document.body;
var top = (doc && doc.scrollTop || body && body.scrollTop || 0);;
$('#filters').css("margin-top", -top);
}
});
</script>
<div id="mainDiv">
<div id="leftDiv">
<div id="filters">
<p>XX 1</p><p>XX 2</p><p>XX 3</p><p>XX 4</p><p>XX 5</p><p>XX 6</p><p>XX 7</p><p>XX 8</p><p>XX 9</p><p>XX 10</p><p>XX 11</p><p>XX 12</p>
</div>
</div>
<div id="rightDiv">
Here is PLP page
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
<p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p>
</div>
</div>
任何帮助都是值得欢迎的。谢谢 !!! ps。 X12应该坚持到蓝色区域的尽头。
是的,这是完成了一半。我没有提到(因为我认为是显而易见的),但如果我滚动到大页面的结尾,并开始再次滚动我也想要固定的一个div里面立即滚动,而不是等到达到旧的位置停止滚动。 – tinti
它应该已经这样做了,它是否做了一些不同的事情> – chiliNUT
不,如果我滚动页面底部,然后开始向上滚动ID =“过滤器”的div不开始立即滚动。 – tinti