javascript - 滚动时固定 Div 到顶部

标签 javascript jquery html css

我使用以下代码在滚动时将 div 固定到页面顶部。

$('.container').data("top", $('.container').offset().top);

$(window).scroll(function(){
    if ($(window).scrollTop() > $('.container').data("top")) { 
        $('.container').css({'position': 'fixed', 'top': '0'}); 
    }
    else {
        $('.container').css({'position': 'static', 'top': 'auto'});
    }
});

元素和父css如下。

父级

.content-right {
    width: 688px;
    margin-top: 11px;
    margin-right: 10px;
    float: right;
}

元素

.container {
    background: #FFF;
    background-color: #FFF;
    width: 687px;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2);
    margin-right: 10px;
    margin-bottom: 20px;
}

但是当我滚动页面时,元素不会固定到页面顶部。 我该如何解决这个问题?

更新

容器是常见的样式。有几个具有相同样式的元素,我使用了一个类来标识想要的元素。我已经将代码更改为此。

fiddle Fiddle

最佳答案

你可以试试:

var $container = $('.payment-info-container'),
    top = $container.offset().top + $container.outerHeight();

$(window).scroll(function(){
    if ($(window).scrollTop() > top) { 
        $container.css({'position': 'fixed', 'top': '0'}); 
    } else {
        $container.css({'position': 'static', 'top': 'auto'});
    }
});

参见 DEMO .顺便说一句,你没有在 fiddle 中加载 jquery 资源。

关于javascript - 滚动时固定 Div 到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21274061/

相关文章:

javascript - 如何在用户离开(关闭)页面时发送 AJAX 请求?

java - 如何禁用 JLabel 的自动 HTML 支持?

javascript - Rails 3 if 语句与 jQuery ?

javascript - 如何使固定标题在滚动时改变颜色

javascript - 我无法查询 Shadow dom 的Select 元素

javascript - 对大值使用 setTimeout()

javascript - 使用 JavaScript Youtube API 上传文件 - 未定义 MediaUploader

javascript - 双显示器上的 Chrome Javascript 弹出窗口已关闭

javascript - 在 jquery 中如何在发送 ajax 请求后调用函数?

jquery - CSS 和 jQuery slider 高度/定位问题