如何让div向下滚动时从顶部显示?

发布于 2024-12-11 18:51:57 字数 325 浏览 0 评论 0原文

我希望在滚动通过标题后出现一个 div 并向下滑动。

它应该是这样的:

http://www.space.com/11425-photos-supernovas -star-explosions.html

这是我到目前为止所得到的,但它不起作用。

http://jsfiddle.net/nHnrd/

I would like a div to appear and slide down once you scroll pass the header.

Here's what it should look like:

http://www.space.com/11425-photos-supernovas-star-explosions.html

Here's what I got so far but it's not working.

http://jsfiddle.net/nHnrd/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独享拥抱 2024-12-18 18:51:57

您需要找出标题的高度及其在页面上的位置,然后使用 jquery 根据scrollTop 值显示或隐藏 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 设置为position:fixed: top: 0;左:0;

编辑:我添加了一个 checkY() 函数,您可以在页面加载以及滚动时调用该函数。不过,最初要隐藏它,只需使用 CSS 即可。

You'll need to find out the height of the header and its position on the page then just show or hide the div depending on the scrollTop value using jquery.

For example:

// 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();

Then you'll just need to set the .fixedDiv to position:fixed: top: 0; left: 0;

Edit: I've added a checkY() function that you can call whenever the page loads as well as on scroll. To hide it initially though, just use CSS.

泪痕残 2024-12-18 18:51:57

您可能只想显示和隐藏您的 div 而不是伪类并

最初隐藏和显示:
$("#mydiv").hide();
然后(滚动):
$("#mydiv").show();

设置你希望你的 div 看起来像 0,0 并固定

使用保持简单的方法!

You might want to just show and hide your div rather than pseudo class AND hide and show

initially:
$("#mydiv").hide();
then (on scroll):
$("#mydiv").show();

set what you want your div to look like i.e. 0,0 and fixed

Use the Keep It Simple method!

谁对谁错谁最难过 2024-12-18 18:51:57

我已经用你可以尝试的东西更新了你的 jsfiddle。

试试这个:
http://jsfiddle.net/nHnrd/10/

另外,这篇文章很有帮助:
http://www.wduffy。 co.uk/blog/keep-element-in-view-while-scrolling-using-jquery/

I've updated your jsfiddle with something you can try.

Try this:
http://jsfiddle.net/nHnrd/10/

Also, this article was helpful:
http://www.wduffy.co.uk/blog/keep-element-in-view-while-scrolling-using-jquery/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文