【发布时间】:2012-11-13 00:09:59
【问题描述】:
我的目标是一旦有人向下滚动页面一定数量的像素,就会在页面顶部显示一个固定的 div。基本上一旦header部分不在视野范围内,就会出现这个div。
我查看了与我想要的类似的代码;但是,还没有看到任何可以让我从页面顶部轻松修改像素数的东西(如果可能的话)。
这是我看到的一段代码,处理通过滚动显示 div。
// Get the headers position from the top of the page, plus its own height
var startY = $('header').position().top + $('header').outerHeight();
$(window).scroll(function(){
checkY();
});
function checkY(){
if( $(window).scrollTop() > startY ){
$('.fixedDiv').slideDown();
}else{
$('.fixedDiv').slideUp();
}
}
// Do this on load just in case the user starts half way down the page
checkY();
我只是想知道如何让它出现。如果有人知道一段代码已经与上滑和下滑动画保持一致,那也将不胜感激,但不是必需的。
【问题讨论】:
-
在您给出的示例中,
$('.fixedDiv').slideDown()正在使 div 出现。该代码对您不起作用吗?这是一个使用该代码的 jsFiddle:jsfiddle.net/BinaryMuse/Ehney -
我没有尝试过,因为我不知道如何修改它以在人从顶部滚动超过 500px 时显示。这是我需要的主要内容。
-
您将使用
startY将第一行更改为您需要的特定Y 位置,而不是根据标题的位置和高度进行计算。这是一个更新的小提琴:jsfiddle.net/BinaryMuse/Ehney/1 -
我去了你说的那个网站去寻找代码,把所有的东西都复制了出来......在css样式表和html index.php页面之间插入了所有东西,但无法让它工作。它在您展示给我的页面上工作,我逐字复制所有内容,但无法正常工作。知道为什么吗?
-
您在浏览器 JavaScript 控制台上看到任何错误吗?
标签: javascript jquery html scroll