显示/隐藏div
使用jquery在div
wrapper
为position:fixed
时无法正常工作,但如果,则更改为position:relative
show / hide {{1 }} 回去工作。
这是 fiddle of position:relative
这是div
div
未显示的fiddle of position:fixed。
show/hide
有人有想法......
答案 0 :(得分:2)
那是因为你的代码在这里
$(document).scroll(function(){
因此,如果您滚动scroll function
或document
,body
将有效,但由于您使用的是position: fixed
,scrollbar
中的body
{1}},但scrollbar
位于
<div id="right">
...
</div>
这使scroll function
永远不会被调用,因此您需要更改
$(document).scroll(function(){
...
});
到
$("#right").scroll(function(){ // Depend on the container that use the position: fixed;
...
});
答案 1 :(得分:0)
原因是fixed
位置自动设置left
和top
0
,但relative
位置设置为父标记的相对位置。
设置下面的css应该可以解决问题:
top:20px
答案 2 :(得分:0)
我的猜测是#right{position: relative/fixed }
对行为有影响。
position: fixed
:元素相对于浏览器窗口定位。
position: relative
:元素相对于其正常位置定位。
答案 3 :(得分:0)
将滚动条绑定到div#right
$("#right").scroll(function () {
console.log("scrolling")
var vis = ($(document).scrollTop() > ($('.passedMe').offset().top + $('.passedMe').height()));
$('.showHide').css('display', vis?'':'none')
});