首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么“粘性”javascript在Firefox/IE中不起作用?

问为什么“粘性”javascript在Firefox/IE中不起作用?
EN

Stack Overflow用户
提问于 2015-06-03 13:24:15
回答 2查看 705关注 0票数 4

我在这个网站上有一个“粘性”的绿色酒吧。当你在Chrome中滚动时,条形图会向上移动,粘在页面的顶部,并在滚动时保持不变。但我只是注意到它在Firefox或IE中不起作用。我使用的javascript如下。有人知道为什么它只在Chrome上工作吗?(手机也不起作用,FYI)

代码语言:javascript
复制
// to make sub nav stick to top
jQuery(function($) {
    var docked = false;
    var menu = $('.sticky_cta');
    var init = menu.offset().top;

    $(window).scroll(function() {       
        if (!docked && (menu.offset().top - $("body").scrollTop() < 50)) {
            menu.css({
                position : "fixed",
                top: 0,
            });
            docked = true;
        } 
        else if (docked && $("body").scrollTop() <= init) {
            menu.css({
                position: "relative",
            });
            docked = false;
        }
    });
});

1

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-03 13:54:36

尝试使用方法点,以确保您的酒吧坚持顶部在所有浏览器,你会发现它是非常简单的使用,也有一个快捷的粘性元素。

类似于此的东西应该能起作用:

代码语言:javascript
复制
menu.waypoint({
    handler: function (direction) {
        if (direction == 'down') {
            menu.css({
                position: "fixed",
                top: 0,
            });
        } else if (direction == 'up') {
            menu.css({
                position: "relative",
            });
        }
    },
    offset: //Whatever offset you need
});

这里的文件:

http://imakewebthings.com/waypoints/

捷径:

http://imakewebthings.com/waypoints/shortcuts/sticky-elements/

票数 0
EN

Stack Overflow用户

发布于 2015-06-03 17:32:43

试着:

用$("body").scrollTop替换document.documentElement.scrollTop

我认为不推荐$("body").scrollTop,在FF中返回0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30621438

复制
相关文章

相似问题

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