Javascript jquery$(窗口)。向下滚动并使div可见,但不工作

Javascript jquery$(窗口)。向下滚动并使div可见,但不工作,javascript,jquery,Javascript,Jquery,嗨,当我滚动到页面底部时,我会尝试显示一个div,当它不在底部时,我会隐藏它。 警告消息在底部页面有效,但设置css可见或尝试使用fadeIn或out不起作用。我不需要什么帮助就能看出我做错了什么 同样在IE 9上,div“#loadSection”是隐藏的,但我仍然能够将光标放在上面,并在其他浏览器正常工作时单击 这是我的密码 $(window).scroll(function() { if ($(window).scrollTop()+$(window).height(

嗨,当我滚动到页面底部时,我会尝试显示一个div,当它不在底部时,我会隐藏它。 警告消息在底部页面有效,但设置css可见或尝试使用fadeIn或out不起作用。我不需要什么帮助就能看出我做错了什么

同样在IE 9上,div“#loadSection”是隐藏的,但我仍然能够将光标放在上面,并在其他浏览器正常工作时单击

这是我的密码

$(window).scroll(function() {       
    if ($(window).scrollTop()+$(window).height() > $(document).height()){
        $("#loadSection").fadeTo(0,0).css('visibility','visible');
        alert("bottom");
    }else{
        $("#loadSection").fadeTo(0,0).css('visibility','hidden');
    }

});

visibility属性允许元素保留在页面上并占用空间。要解决IE中仍然可以将鼠标悬停在其上的问题,请改用display属性

要解决您的主要问题,请尝试以下方法:

var loadsection = $("#loadSection");
if ($(window).scrollTop() >= $(document).height() - $(window).height()){
    if ( loadsection.is(':hidden') ) loadsection.fadeIn();
}else{
    if ( loadsection.is(':visible') ) loadsection.fadeOut();
}

fadeIn和fadeOut将利用display属性,当元素不可见时,该属性将完全删除该元素。另外,您在两次fadeTo调用中的不透明度都变为零,因此即使设置了可见性,元素仍然是完全透明的。

问题是,滚动的每一位都会出现fadeIn/Out,这会导致div闪烁。这里有一个CSS动画选项:

$(window).scroll(function() {   
    if ($(window).scrollTop()+$(window).height() >= $(document).height()){
        $("#loadSection").addClass('visible');
    }else{
        $("#loadSection").removeClass('visible');
    }
});
演示:

.fadeTo(持续时间,不透明度[,完成])
在这两种情况下,您都将不透明度设置为0。我想你应该在ifoh上把它设置为1,我的错误是thx注意到了这个小错误,但是仍然在IE9上工作似乎只是firefox和chrome根本不在乎试试这个,好吧,我发现这个问题css有一个负边距,必须从div中删除才能使它工作。