javascript - 使用 jQuery 居中 div

标签 javascript jquery css

我有一个 div $("#organizer_listings_container") 最初使用 CSS margin: 0 auto; 居中,当用户点击按钮。调整大小后,我使用以下代码将调整后的 div $("#organizer_listings_container") 居中。

调整大小代码

// Center content when width changes
if($("#organizer_listings_container").css("position") != 'absolute') {
    $("#organizer_listings_container").css("position","absolute");
    var left = ( $(window).width() - $("#organizer_listings_container").width() ) / 2 + "px";
    $("#organizer_listings_container").css('left', left);       // set initial 'left'
}
left = ( $(window).width() - ( 852 ) ) / 2  + "px";
$("#organizer_listings_container").animate({'left': left}); // animate to final 'left'  

问题:当我添加一个新的 div(使用 jQuery show() 使其可见)时,它出现在 #organizer_listings_container 上方,#organizer_listings_container 向下移动,这是正确的。现在,当我删除这个新添加的 div 时,#organizer_listings_container 不会向上移动!

我怀疑这是由于所使用的 jQuery 居中代码要求的绝对定位所致。当新添加的 div 被删除时,如何使调整大小的 div 恢复原状?

使用 jQuery 计算新添加的 div 的高度,然后通过将 top 偏移计算出的高度来向上移动调整大小的 div 似乎比我想要的更困惑

最佳答案

您可以避免必须使用 jquery 并将一个类添加到新添加的 div 并以顶部位移居中,如下所示:

<div class="container" style="background:blue; width:100%;">
<div class="box" style="background:green; width:50px; height:40px; margin: 0 auto; margin-top:20px;"></div>
</div>

请注意,该类将包含内联样式,这只是一个示例。

您唯一可能需要 jquery 的是确保容器的高度为 100%。但是,如果您只想看到盒子,并且您只是使用容器将其居中定位,那么您就不需要这个要求。

关于javascript - 使用 jQuery 居中 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8888966/

相关文章:

javascript - 在 javascript 中添加其他文本框值之前如何避免文本框中出现 NaN

javascript - 向我的谷歌地图提供纬度和经度列表,以使用标记将它们可视化

javascript - 有没有办法在javascript中的指定位置识别页面上的元素?

javascript - 将垂直滚动附加到水平滚动条

javascript - 将选定单选按钮的值保存到字典中

javascript - 如何在两个链接之间使用 toggleClass 方法

javascript - 如何将textarea的值保存到localstorage然后将其显示在同一个textarea中

javascript - 使用 HTML、CSS 和 Jquery 加载弹出窗口

css - 动画后立即过渡

CSS:什么是更好的做法?一次全部导入还是每个 html 一个一个地链接?