为什么CSS中没有显示没有被fadein删除?

时间:2016-06-03 16:17:04

标签: javascript jquery html css fadein

所以当达到滚动阈值时,我试图让div淡入淡出。它以display:none开始;在css中为它的div id。达到阈值时,fadein不会删除display:none;来自CSS,因为我已经读过了它。

CSS:

#SideBanner01{
  display: none;
  right: 0;
  margin-left: 60.4%;
  margin-right: 3%;
  margin-top: .25%;
  overflow: hidden;
}

#SideBanner01 img{
  width: 206.25%;
  margin: -30% -15% -8% -140%;
}

使用Javascript:

$(window).scroll(function () {
  var delay = 500;
  var scrollTop = $(window).scrollTop();
  if (scrollTop > 20) {
    $('#SideBanner01').fadeIn(delay);
  }
  else{
    $('#SideBanner01').hide();
  }
});

fadein运行后的督察:

element {
    position: fixed;
}
#SideBanner01 {
    display: none;
    right: 0;
    margin-left: 60.4%;
    margin-right: 3%;
    margin-top: .25%;
    overflow: hidden;
}
body {
    color: #000000;
    text-align: left;
}

HTML:

<div style="position: fixed;" id="SideBanner01"><img src="http://survey.unifocus.com/ClientFiles/19500/Bardessono-stone-wheels.jpg"></div>

我使用的是jquery 1.6,所以我相信fadein应该可以正常运行。对于发生了什么有什么想法?我已经能够获得&#34; $(&#39;#SideBanner01&#39;)。show(延迟);&#34;工作但它从侧面飞来但它看起来很俗气。提前谢谢。

1 个答案:

答案 0 :(得分:4)

你不是故意这样做:

$(window).scroll(function () {
  var delay = 500;
  if ($(this).scrollTop() > 20) {
    $('#SideBanner01').fadeIn(delay);
  }
  else{
    $('#SideBanner01').hide();
  }
}); 

在您的代码段中,scrollTop用作常规变量(未定义)。