Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动页面的某一点时,使div出现_Javascript_Jquery_Html_Scroll - Fatal编程技术网

Javascript 滚动页面的某一点时,使div出现

Javascript 滚动页面的某一点时,使div出现,javascript,jquery,html,scroll,Javascript,Jquery,Html,Scroll,我的目标是,一旦有人在页面上向下滚动一定数量的像素,就会在页面顶部显示一个固定的div。基本上,一旦标题部分不可见,就会出现这个div 我看过类似于我想要的代码;但是,我还没有看到任何可以让我从页面顶部轻松修改像素数的东西(如果可能的话) 下面是我看到的一段代码,它通过滚动显示div // Get the headers position from the top of the page, plus its own height var startY = $('header').position

我的目标是,一旦有人在页面上向下滚动一定数量的像素,就会在页面顶部显示一个固定的div。基本上,一旦标题部分不可见,就会出现这个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();
我只是想知道如何让它出现。如果有人知道一段代码已经使用了向上滑动和向下滑动动画,那将非常感谢,但不是必需的

window.addEventListener("scroll",function() { 
   if(window.scrollY > 500) {
      $('.fixedDiv').slideDown();
   }
   else {
      $('.fixedDiv').slideUp();
   }
},false);

演示:

布兰登·蒂利在评论中回答了我的问题


你可以把第一行的星号改成特定的Y 您需要的位置,而不是根据标题的位置进行计算 位置和高度。这是最新的提琴: jsfiddle.net/BinaryMuse/Ehney/1


在您给出的示例中,
$('.fixedDiv').slideDown()使div出现。那代码不适合你吗?下面是一个使用该代码的JSFIDLE:我没有尝试过它,因为我不知道如何修改它,使其在用户从顶部滚动超过500px时显示。这是我需要的主要内容。您可以将第一行的起始位置更改为所需的特定Y位置,而不是根据收割台的位置和高度进行计算。这里有一个更新的提琴:我去了你说的网站,在那里找到了代码,把所有的东西都复制了出来……在css样式表和html index.php页面之间插入了所有的东西,但都无法正常工作。它在你给我看的页面上起作用了,我逐字逐句地复制了所有内容,但无法使其发挥作用。知道为什么吗?您在浏览器JavaScript控制台上看到任何错误吗?错误:ReferenceError:$未定义$('.fixedDiv').slideDown();和$('.fixedDiv').slideUp();一个可能的改进是不绑定滚动事件,而是使用setInterval定期检查当前滚动位置。这样,在每次滚动时不会触发句柄,这可能会导致性能下降。另一种方法是绑定到scroll,但仅在某个时间间隔后再次触发该方法。有关如何实现此模式的一些示例:。这里也提到了这一点:Error:ReferenceError:$未定义。。。。与lostsource给出的上一个示例相同me@kdjernigan-
$
应该定义,因为它引用的是
jQuery
。看我的演示,它正在工作。
window.addEventListener("scroll",function() { 
   $('.fixedDiv')[(window.scrollY > 500)?"slideDown":"slideUp"]();
},false);