0
我試圖保持一個黃色的盒子「固定在位」作爲一個容器div在頁面上下滾動,但隨後與屏幕上的容器一起上下滑動。這適用於慢速滾動,但不適用於快速滾動。有什麼我可以做我的代碼,以確保它更快地啓動,或使屏幕滾動更慢?我怎樣才能得到一個jQuery滾動功能快速滾動觸發?
HTML:
<div id="container">
<div id="purple"></div>
<div id="yellow"></div>
<div id="green"></div>
</div>
CSS:
#container{
margin-top:500px;
margin-bottom:500px;
height:1000px;
width:600px;
background-color:blue;
position:relative;
}
#purple{
height:10px;
width:10px;
background-color:purple;
position:absolute;
margin-right:50px;
}
#green{
height:10px;
width:10px;
background-color:green;
position:absolute;
bottom:0;
}
#yellow{
width:100px;
height:100px;
background-color:yellow;
margin-top:50px;
position:absolute;
left:0px;
}
JQUERY:
var distance = $('#purple').offset().top;
var distance2 = $('#green').offset().top;
$window = $(window);
$window.scroll(function() {
if ($window.scrollTop() >= distance) {
$("#yellow").css("position","fixed");
$("#yellow").css("margin-left",'8px');
$("#yellow").css("top",'0px');
}
if (($window.scrollTop() - distance <= 15)&& ($window.scrollTop() >= distance2 - 1000)) {
$("#yellow").css("position","absolute");
$("#yellow").css("top","15px");
$("#yellow").css("margin-left",'0px');
$("#yellow").css("bottom","auto");
}
if ($window.scrollTop() >= distance2 - 180 ) {
$("#yellow").css("position","absolute");
$("#yellow").css("top","auto");
$("#yellow").css("margin-left",'0px');
$("#yellow").css("bottom",'40px');
}
});
這裏有一個小提琴:https://jsfiddle.net/7nfyu4ys/1/
是我的代碼,還是jQuery的只是行動像這樣有時?
呃,解決了。它不需要我的&&條款。忽視... – JohnG