Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 jquery-如何使元素跟随页面到达某个点?_Javascript_Jquery_Jquery Plugins - Fatal编程技术网

Javascript jquery-如何使元素跟随页面到达某个点?

Javascript jquery-如何使元素跟随页面到达某个点?,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我需要这样做,使一个元素通常(取决于分辨率)离开页面可视区域的底部,在页面底部浮动,并在滚动时跟随页面向下(类似于位置的效果:在css中固定) 然而,我需要那个元素停下来,当它到达自然状态时,停留在原地,如果这有任何意义的话 理想情况下,如果css/js不受支持,元素也应该出现在“自然”位置 有什么好办法来解决这个问题吗?有人知道任何现有的jQuery插件可能会有所帮助吗 非常感谢, 斯图这是我在客户网站上完成这项工作的方式: JavaScript(使用jQuery): 技术:动态生成一个不可见

我需要这样做,使一个元素通常(取决于分辨率)离开页面可视区域的底部,在页面底部浮动,并在滚动时跟随页面向下(类似于位置的效果:在css中固定)

然而,我需要那个元素停下来,当它到达自然状态时,停留在原地,如果这有任何意义的话

理想情况下,如果css/js不受支持,元素也应该出现在“自然”位置

有什么好办法来解决这个问题吗?有人知道任何现有的jQuery插件可能会有所帮助吗

非常感谢,


斯图

这是我在客户网站上完成这项工作的方式:

JavaScript(使用jQuery):

技术:动态生成一个不可见的“listener”div,并在页面右上角固定定位。当该侦听器距离页面顶部150像素(或在此插入任意数字)或更大时,将“fixmenu”类添加到
中。从这里开始,使用CSS将菜单的位置从绝对更改为固定


由于IE6不支持固定定位,我选择将其排除在外。

值得注意的是:由于我编写了这段代码,jQuery不推荐使用$.browser。您可能需要研究$.support作为替代方案。
if( !$.browser.msie || ($.browser.msie && $.browser.version > 6) ){
    $('body').append('<div id="listener" rel="generated">&nbsp;</div>');
    $(window).scroll(function () { 
        if($('#listener').offset().top > 150){
            $('body:not(.fixmenu)').addClass('fixmenu');
        }else{
            $('body.fixmenu').removeClass('fixmenu');
        }
    });
}
#listener{
    position: fixed;
    top: 0;
    right: 0;
    height: 1px;
    width: 1px;
}
#page #submenu{
    position: absolute;
    top: 85px;
    z-index: 3;
}
.fixmenu #submenu{ position: fixed; }