javascript - Position Fixed - 设置宽度等于容器

标签 javascript jquery html css

当用户滚动到足够远时,我一直在尝试将 div 的位置设置为固定。我注意到当 div 的位置设置为固定时,宽度与父元素不同。如何使 position: fixed 的 div 宽度与父元素保持一致?

在此示例中,一旦设置了 position:fixed,我希望底部 div 与黄色框的宽度相同。

http://jsfiddle.net/BYJPB/

这是我的 HTML:

<header>
  <div class="filler-space">
    Filler Space
  </div>
  <div class="toolbar">
    <div class="current-article">
        <div class="progress-bar"></div>
        My article
    </div>
  </div>
</header>

这是我的 CSS:

body {
  padding:0 10px;
  height: 1000px;
}

.filler-space {
  background-color: yellow;
  border:1px solid #000000;
  height: 140px;
}

.toolbar {
  border: 1px solid black;
}

.current-article {
  font-weight: 600;
  height: 100%;
  line-height: 40px;
  overflow: hidden;
  width: 100%;
  z-index: -1;
}

.progress-bar {
  position: absolute;
}

.prog .progress-bar {
  background: none repeat scroll 0 0 #F2F4F7;
  bottom: 0;
  height: 100%;
  left: 0;
  margin: 0 -10px 0 -10px;
  overflow: hidden;
  right: 0;
  top: 0;
  transition: width 0.1s ease 0s;
  z-index: -1;
  width: 100%;
}

这是我的 JavaScript:

var $toolbar = $('.toolbar');
var $window = $(window);
var $header = $('header');

$(document).scroll(function() {
  var scrollTop = $window.scrollTop();
  if ( scrollTop > 150) {
    $toolbar.css({
        'position' : 'fixed',
        'top' : 0
    });
    $header.addClass('prog');
  }
  else {
    $toolbar.css({
        'position' : 'static',
        'top' : 0
    });
    $header.removeClass('prog');
  }
});

最佳答案

更新你的 js,我不明白你的要求,但我认为这就是你要找的。

if ( scrollTop > 150) {
    $toolbar.css({
        'position' : 'fixed',
        'top' : 0,
        'width':$header.width()
    });

    $header.addClass('prog');
}
else {
    $toolbar.css({
        'position' : 'static',
        'top' : 0
    });
    $header.removeClass('prog');
}

关于javascript - Position Fixed - 设置宽度等于容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20510888/

相关文章:

javascript - 在 Protractor 中定位元素与直接在 JavaScript 中定位元素

javascript - 从另一个 Accordion 链接到 Accordion 内的内容

javascript - 从 NativeScript 列表中删除项目时如何设置动画

javascript - 为什么我的 jquery 切换类无法单击

javascript - 使用 jquery 为任何字段在 javascript 中从 json 创建表

html - 如何在我的画廊和另一个 slider 中添加指向图片的链接

javascript - 如何在 HTML 中使用 Javascript 使用单选按钮隐藏表格?

Javascript 将字符串转换为整数

javascript - 我怎样才能阻止文本区域消失?

jquery - 如何使用 jQuery 和 CSS 调整大小