当页面位于顶部时,图片未隐藏javascript

时间:2016-09-02 09:40:01

标签: javascript jquery

我有这个代码执行以下任务:当页面最初加载时,它被隐藏;否则显示。我编写的代码非常有意义,但在页面加载时似乎只运行一次。

$(document).ready(function(){
    setTimeout(function(){
        xyz = $('.verb_logo_w');

        if(document.body.scrollTop === 0){
            xyz.hide();
        };

        window.onscroll = function(e){
            xyz.show();
        };
    },10);
});

2 个答案:

答案 0 :(得分:0)

您还需要将隐藏功能添加到滚动事件:

 $.scrollTop = function () {
    if ($(document).scrollTop() === 0) {
        $('.verb_logo_w').hide();
    } else {
        $('.verb_logo_w').show();
    }
};
//onScroll
$(window).on('scroll', function () {
    $.scrollTop();
});
//Init
$.scrollTop();

将此块移出超时时间。

这是一个有效的 jsFiddle

仅当页面加载时scrollTop值不为0且滚动时,才会显示文本。

答案 1 :(得分:0)

您没有使用"滚动"事件正常。



$(document).ready(function() {
  
  $xyz = $('.verb_logo_w');
  
  function pageScrolled() {
    var scrollTop = $(document).scrollTop();
    
    // informative purpose
    console.log("scrollTop value: " + scrollTop);
    
    if( scrollTop === 0 ) {
      $xyz.show();
    } else {
      $xyz.hide();
    }
  }

  $(window).on("scroll", pageScrolled);
});

body {
  height: 3000px;
}

.verb_logo_w{
  height: 200px;
  width: 200px;
  background: blue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="verb_logo_w"><div>
&#13;
&#13;
&#13;