jquery - 使用jquery将两个div同时粘贴到窗口顶部

标签 jquery html css

我知道这个话题之前已经在这里讨论过,但我遇到了一些已经解决的问题。 我想同时将两个 div 粘贴到顶部。 (例如:当第 2 层粘在顶部时,我希望第 2 层也粘在顶部,但高度和宽度不同) 目前我试图只保留一个 div,但它不起作用。

HTML

<div id="Layer1"></div>
<div id="sticky-anchor"></div>
<div id="Layer2"></div>
<div id="Layer3"></div>

JS

jQuery(document).ready(function($) {
    $(window).scroll(sticky_relocate);
    sticky_relocate();
});

function sticky_relocate() {
    var s = $('#Layer2');
    var pos = s.position();

    var window_top = $(window).scrollTop();
    var div_top = $('#sticky-anchor').offset().top;

    s.html("Distance from top:" + pos.top + "<br />Scroll position: " + window_top);

    if (window_top > div_top) {
        s.addClass('stick');
    } else {
        s.removeClass();
    }
}

CSS

#Layer2 {
    position: absolute;
    text-align: left;
    left: 0px;
    top: 276px;
    width: 950px;
    height: 57px;
    z-index: 1;
}
.stick {
    position: fixed;
    top: 0;
}

我在这里需要一些帮助,我也想知道我应该如何同时粘贴两个 div。 提前致谢。

JS fiddle

最佳答案

这是因为 CSS specificity .

#id 选择器总是比 .class 选择器更重要。

替换这个

.stick {
    position: fixed;
    top: 0;
}

有了这个

#Layer2.stick {
    position: fixed;
    top: 0;
}

或者这个

.stick {
    position: fixed !important;
    top: 0 !important;
}

在这里查看全部内容 JS fiddle

附言我稍微更改了 JavaScript。

关于jquery - 使用jquery将两个div同时粘贴到窗口顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29950039/

相关文章:

javascript - 在javascript onclick中为标签添加样式

php - 如何在 HTML 代码中检索 PHP 变量?

html - 网站在 IPAD 上没有响应,媒体查询不起作用

javascript - 如何防止内联图像后换行?

css - jcarousel 在 IE7 中不工作

html - 带有背景颜色的 Logo 图像浏览器问题

c# - 标签存储 <div id ="test">可变内容</div>(带有html标签)带有html标签

javascript - Flot:0:00 的时间标记

jquery - 阻止某些特定页面中的特定 css 内容

javascript - 测试点击是否在 div 及其所有子元素中