我有一个带有“更多”提示的页脚,用于提示用户下面有更多内容。
如果有更多内容(您需要向下滚动才能看到),它会在文档顶部的页面加载中淡入。
如果页面中没有更多内容滚动到它,则不会淡入(如果加载时所有内容都适合窗口)。这很成功。
当它到达页面底部的段落时,我已将其写入不淡入。因此,如果有内容需要向下滚动查看,它将淡入,直到您到达页面的末尾(由段落'#last'表示)。这部分不起作用。
我们将非常感谢您的想法。
HTML页脚:
<footer id="fixedmore">
<p>more</p>
<div class="downArrow">
</div>
</footer>
HTML最后一段
<p id="last">
THE END
</p>
CSS固定页脚
#fixedmore
{
width:100%;
height:30px;
left:0px;
bottom:0px;
position:fixed;
color:white;
text-align:center;
text-shadow:0px 0px 4px rgba(0,0,0,0.5);
font-weight:500;
font-size:14px;
/* fallback/image non-cover color */
background-color:rgba(0,0,0,0.3);
/* Safari 4+, Chrome 1-9 */
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.05)));
/* Safari 5.1+, Mobile Safari, Chrome 10+ */
background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.05));
/* Firefox 3.6+ */
background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.05));
/* IE 10+ */
background-image: -ms-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.05));
/* Opera 11.10+ */
background-image: -o-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0.05));
}
.downArrow
{
width:0;
height:0;
border-left:50px solid transparent;
border-right:50px solid transparent;
border-top:10px solid white;
margin:auto;
}
CSS最后一段
#last
{
text-align:center;
font-size:10px;
}
JQuery窗口滚动
$(window).scroll(function(){
$('#fixedmore').hide();
var distanceTop = $('#last').offset().top - $(window).height();
if ($(window).scrollTop() < distanceTop){
$('#fixedmore').fadeIn(3000);
}
else{
$('#fixedmore').hide();
};
});
答案 0 :(得分:0)
我认为你会发现它会触发,但当你开始滚动时,scrollTop事件会触发,而不是当你停止时,这就是你想要的。您可以测试一下:如果滚动到页面底部,停止,然后稍微向左滚动以使#last保持可见,您应该看到#fixedmore保持隐藏状态。问题是,大多数情况下,您的用户将从更远的地方滚动到#last,因此它不会触发。
James Padolsey的This plugin允许特殊滚动事件,如scrollStart和(更重要的是!)scrollEnds。给它一个旋转!