JQuery创建一个滚动跟随div

时间:2011-11-10 10:18:39

标签: javascript jquery html css

好的我已经看到有人使用position:fixed让div跟随滚动。 我也看到了以下解决方案,这很好(Jquery follow scroll),但我想知道如何实现2种效果:

  1. 为框创建一个平滑的滚动
  2. 在div内滚动框(因此,如果滚动高于持有者div,则框应该位于div的顶部,当您向下滚动时,它应该在内部滚动)
  3. 可以在此处找到这些功能的示例:http://www.limestonenetworks.com/dedicated_servers/order.html?id=47

    但我无法弄清楚他们使用了什么,即使他们使用了图书馆。

5 个答案:

答案 0 :(得分:3)

作为Adam Hutchinson的轻微替代品

http://jsfiddle.net/HelloJoe/JjuQu/

这是非常自我解释的,但只是说如果你需要解释的话。

答案 1 :(得分:0)

示例中的div不是polsition:fixed或absolute。他们所做的是在相对滚动

上设置margint-top属性的动画

答案 2 :(得分:0)

看起来您需要将事件映射到文档滚动,然后相对于滚动移动div。沿着这些方向的东西可能会让你有一个开始的地方。

$(document).scroll(function(){
    $('#divtomove').css('top', $(document).scrollTop());
})

答案 3 :(得分:0)

此外,这是示例页面中的代码,只是为了获得一个想法

 var $scrollingDiv = $("#customize");
    $(window).scroll(function () {
        if ($(window).scrollTop() > 490) {
            if (($("#maincontentbox").height() - $(window).scrollTop()) > 0) {
                $scrollingDiv.stop().animate({
                    "marginTop": ($(window).scrollTop() - 500) + "px"
                }, "slow");
            }
        } else {
            $scrollingDiv.stop().animate({
                "marginTop": "0px"
            }, "slow");
        }
    });

答案 4 :(得分:0)

更简单的解决方案:

$('#divtomove').scrollFollow();