首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >智能滚动

智能滚动
EN

Stack Overflow用户
提问于 2012-01-31 01:07:24
回答 2查看 568关注 0票数 3

我想知道,一些现代网站是如何知道我是否在滚动的。如果是这样,“我”在页面上的当前位置,然后执行特定的功能。

例如,页面9gag.com。右边是一个绿色的按钮"Y U No Signup?!",当我进一步向下滚动时,这个按钮消失了,类似的东西出现在页面的顶部。

另一个例子是每一张图片的标题。当我看着它们并向下滚动时,标题“跟随我”,但只有在到达特定图片的结尾时,它才会停止。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-31 01:14:53

很简单..。例如,使用jquery,您可以在.scroll()中调用一个函数,在开始滚动时触发...只需从顶部或底部使用.offset(),您就有了自己的位置,可以触发任何您想要的东西

票数 4
EN

Stack Overflow用户

发布于 2012-01-31 01:20:47

对于类似的任务,我创建了一个名为«fixedAfter的小型jQuery插件,其背后的主要思想是为这些对象设置一个静态位置,然后在窗口滚动事件中动态更改它们的位置,例如

代码语言:javascript
复制
$.fn.fixedAfter = function(pos) {
    var $this = this, $window = $(window), obj;
    $window.bind('scroll.fixedAfter', function(e) {
        obj = ($window.scrollTop() < pos)
            ? { position: 'static' } /* or { position: absolute, top: pos } */
            : { position: 'fixed', top: 0 }
        $this.css(obj);
    });

    /* if a page is loaded by an internal link (e.g. page.html#internal-id) */
    $(document).ready(function() {
        $window.trigger('scroll.fixedAfter');
    })
};

所以,如果你想把一个按钮固定在视窗的顶部,比如说在100px的滚动之后,只需要用下面的命令调用插件

代码语言:javascript
复制
$('button').fixedAfter(100);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9067749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档