Javascript 滚动偏移功能不工作

Javascript 滚动偏移功能不工作,javascript,jquery,css,animation,scroll,Javascript,Jquery,Css,Animation,Scroll,我最近添加了一个window.matchMedia函数,允许我根据不同的媒体查询运行不同的javascript函数。我遇到的问题是以下滚动功能将不再工作: var oTop = $('#home-img-block-section').offset().top - window.innerHeight; $(window).scroll(function() { var pTop = $('body').scrollTop(); console.log(pTop + ' - ' + oTop

我最近添加了一个window.matchMedia函数,允许我根据不同的媒体查询运行不同的javascript函数。我遇到的问题是以下滚动功能将不再工作:

var oTop = $('#home-img-block-section').offset().top - window.innerHeight;
 $(window).scroll(function() {

var pTop = $('body').scrollTop();
console.log(pTop + ' - ' + oTop);
if (pTop > oTop) {
  imgDelays();
  imgDelaysSlide();
}
我试过:

 if (pTop > oTop) {
  imgDelays() && imgDelaysSlide();
}
但这没有帮助

我在我的网站上运行同样的滚动功能,效果非常好。由于某种原因,我添加的这个新函数无法使用它。您可以在代码片段中看到(我将在注释中添加一个JSFIDLE,因为这样更容易看到),当您向下滚动到绿色部分时,这三个块已经存在了。延迟和fadeIn的工作不会等到你到达滚动点。但是,这确实适用于我的640px或更低的媒体查询,此函数为imgdelayslide();。为什么scroll函数不能用于imgDelays()函数

$(函数(){
var oTop=$(“#主img块段”).offset().top-window.innerHeight;
$(窗口)。滚动(函数(){
var pTop=$('body').scrollTop();
日志(pTop+'-'+oTop);
if(pTop>oTop){
imgDelays();
imgdelayslide();
}
});
});
函数imgDelays(){
$('.fadeBlock1')。延迟(300)。fadeIn(500);
$('.fadeBlock2')。延迟(800)。fadeIn(500);
$('.fadeBlock3')。延迟(1300)。fadeIn(500);
}
函数imgdelayslide(){
$('.fadeBlock1')。延迟(300)。设置动画({
“左”:“0%”
}, 700);
$('.fadeBlock2')。延迟(800)。设置动画({
“左”:“0%”
}, 700);
$('.fadeBlock3')。延迟(1300)。设置动画({
“左”:“0%”
}, 700);
}
var mq=window.matchMedia(“@media all and(最大宽度:640px)”;
if(mq.matches){
imgdelayslide();
}否则{
imgDelays();
}
#蓝色{
宽度:100%;
高度:500px;
背景:蓝色;
}
#红色的{
宽度:100%;
高度:500px;
背景:红色;
}
#主img块段{
宽度:100%;
高度:500px;
背景:绿色;
}
.街区{
宽度:33.33%;
浮动:左;
显示:无;
溢出:隐藏;
位置:相对位置;
}
.闭塞img{
显示:块;
高度:100px;
宽度:100px;
过渡:所有的1容易;
}
@媒体屏幕和屏幕(最大宽度:640像素){
.街区{
宽度:100%;
浮动:左;
显示:无;
溢出:隐藏;
光标:指针;
位置:相对位置;
左-110%;
}
}

就像我们在collab JSFIDLE上讨论的那样,我们只需要防止在页面加载时,当宽度大于640px时触发函数

if (mq.matches) {
  imgDelaysSlide();
} else {
  //imgDelays();

你可以留下兔子:D

再次感谢你的帮助!