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