javascript - 获得偏移然后使位置绝对

标签 javascript jquery html css

Hello People 我需要的是获取任何部分的偏移量,然后使所有部分的位置都是绝对的: 所有部分返回偏移量为0px的问题

$(document).ready(function () {
    $('section').each(function (index, element) {
        var $this = $(this);
        $this.css('top', $this.offset().top + 'px');
        $this.css('position', 'absolute');
    });
})
section {
    width: 100%;
    height: 400px;
    background-color:#ff5b74;
}
.section-2{
    height:500px;
    background-color:#00ff6b;
}
.section-3{
    background-color:#5066e9;
}
.section-4{
    background-color:#ff6a00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<section class="section-1"></section>
<section class="section-2"></section>
<section class="section-3"></section>
<section class="section-4"></section>

最佳答案

问题在于,对于每个部分,您都设置了绝对位置,这使得它在更改其余部分之前脱离了流程。因此其余部分将忽略此部分占用的空间并填充它。

这就是为什么他们都占据同样的榜首位置

所有section的置顶位置设置完成后需要设置绝对位置,即在循环函数之外。

$(document).ready(function() {
  $('section').each(function(index, element) {
    var $this = $(this);
    $this.css('top', $this.offset().top + 'px');
   
  });
  $('section').css('position', 'absolute');
})
section {
  width: 100%;
  height: 400px;
  background-color: #ff5b74;
}

.section-2 {
  height: 500px;
  background-color: #00ff6b;
}

.section-3 {
  background-color: #5066e9;
}

.section-4 {
  background-color: #ff6a00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<section class="section-1"></section>
<section class="section-2"></section>
<section class="section-3"></section>
<section class="section-4"></section>

关于javascript - 获得偏移然后使位置绝对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43657244/

相关文章:

javascript - 日期选择器调用错误

javascript - 为什么 JavaScript 对象的属性已经是可配置的 :false, 可写总是可以从 true 更改为 false 而不会出错?

javascript - 位于下拉列表中的元素但无法单击它

html - 无序列表向右浮动折叠

jquery - 如何动态隐藏表格 tr 元素?

javascript - 在 HTML 标记上切换类时更改 Swiper.JS 设置的设置(自动播放、效果、循环)

javascript - 管理 Backbone.js/SVG Web 应用程序中的布局?

php - 如何使用 jQuery 和 PHP 动态显示 MySQL 数据?

jquery - 如何将超链接添加到表格行 <tr>

javascript - 组合 div 和 span 标签样式失败