ScrollTop无法在IE和Firefox中运行

时间:2015-03-11 20:48:30

标签: javascript jquery

您好我目前有this site上显示图片的功能,如果您在主页上向下滚动,您会看到图片正在显示以及this page

这是JS,但是scrollTop部分似乎没有在IE和Firefox上运行,我的开发人员写了这个,我试图在没有他帮助的情况下自己修复它。

revealImages: function() {
  var currentScroll = 0;
  var totalScroll = $(document).height() - $(window).height();
  var newScroll = $('body').scrollTop();

  $('.image-flip').each(function() {
    if(newScroll + $(window).height() >= $(this).offset().top + 200 && currentScroll < newScroll) $(this).addClass('flipped');
  });

  currentScroll = newScroll;
}

1 个答案:

答案 0 :(得分:0)

我在你的代码中发现了一些错误。

&#13;
&#13;
var newScroll = $('body').scrollTop();
&#13;
&#13;
&#13;

替换

&#13;
&#13;
var newScroll = $('html, body').scrollTop();
&#13;
&#13;
&#13;

在你的情况下,FF总是返回0。

你的if语句中还有另一个错误。你忘了{}

这是修正码

&#13;
&#13;
revealImages: function() {
  var currentScroll = 0;
  var totalScroll = $(document).height() - $(window).height();
  var newScroll = $('html, body').scrollTop();

  $('.image-flip').each(function() {
    if( ( newScroll + $(window).height() ) >= ( $(this).offset().top + 200 ) && ( currentScroll < newScroll ) ){
    	$(this).addClass('flipped'); 
    }
  });

  currentScroll = newScroll;
}
&#13;
&#13;
&#13;