Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 智能滚动_Javascript_Jquery_Html_Css_Scroll - Fatal编程技术网

Javascript 智能滚动

Javascript 智能滚动,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,我想知道,一些现代网站怎么知道我是否在滚动。如果是,请在页面上显示“我在哪里”,然后执行特定功能。 例如页面。右侧有一个绿色按钮“Y U No Signup?!”,当我向下滚动时,该按钮消失,页面顶部会出现类似的内容。 另一个例子是每幅图片的标题。当我看着它们并向下滚动时,标题“跟着我”,但直到到达特定图片的末尾,它才会停止。很容易。。例如,使用jquery,您可以调用.scroll()中的函数,在您开始滚动时触发。。。只需从顶部或底部使用.offset(),您就可以定位并可以启动任何您想要的任

我想知道,一些现代网站怎么知道我是否在滚动。如果是,请在页面上显示“我在哪里”,然后执行特定功能。

例如页面。右侧有一个绿色按钮“Y U No Signup?!”,当我向下滚动时,该按钮消失,页面顶部会出现类似的内容。


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

很容易。。例如,使用jquery,您可以调用.scroll()中的函数,在您开始滚动时触发。。。只需从顶部或底部使用.offset(),您就可以定位并可以启动任何您想要的任务。我创建了一个名为«fixedAfter»的小型jQuery插件。其主要思想是为这些对象设置一个静态位置,然后动态更改它们在窗口滚动事件中的位置,类似于smthg

$.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');
    })
};
. 另请参见window.onscroll事件()
$('button').fixedAfter(100);