2017-06-02 56 views
0

我坚持为什么这段代码不工作。为什么当我向下滚动窗口时图像位置不固定。我在哪里做我的错误在我的JS代码

我知道这是一个非常普遍的问题,将不胜感激。

$(window).scroll(function() { 
 
    if($(window).scrollTop() === 200){ 
 
    \t $("#dataImg").css({'position':'fixed','top':'0px'}); 
 
    } 
 
});
.container { 
 
    height: 1500px; 
 
    background: #000; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="container"> 
 
<img src="http://www.placehold.it/200x300" id="dataImg"> 
 
</div>

+0

问题更新 –

+3

'scrollTop的()'绝不会正好找到了'200';通过改变'==='开始''' –

+0

@ChrisG谢谢:) –

回答

3

我认为这个问题是用 “$(窗口).scrollTop === 200”。你想用>或<根据您的情况是这样的:

$(window).scroll(function() { 
    if($(window).scrollTop() > 200){ 
    $("#dataImg").css({'position':'fixed','top':'0px'}); 
    } 
}); 
2

我想你想你的时候超过200像素向下滚动,以修复图像。 你可以改变你的Javascript代码如下:

$(window).scroll(function() { 
    if($(window).scrollTop() >= 200){ 
     $("#dataImg").css({'position':'fixed','top':'0px'}); 
    } else { 
     $("#dataImg").css({'position': '', 'top' : ''}); 
    } 
});