【发布时间】:2018-01-22 22:06:06
【问题描述】:
我在最近的一个项目中使用拼贴画,该项目的中心有一个带有文本的按钮。我正在使用 jQuery 将按钮的高度分配为等于包含图像的周围 div,以便它们在 Bootstrap 中很好地堆叠。
我遇到的问题是 .height() 函数根据环绕 div 的大小返回向上或向下舍入的高度,这可以通过布局 - IE。如果四舍五入到 256px 并且其他 div 是 255.65px,它会将其下方的内容向下推。
我想知道是否有一种简单的方法可以强制 .height() 函数将返回的数字向下舍入 - 无论如何。
这是我的代码:(我在 Safari 上的拼贴画有一些问题,我必须检测查看器使用的浏览器并相应地进行调整。)
<script type="text/javascript">
$(window).on('load resize', function () {
// Check for Safari - if Safari delete div height of button by 6px. Fixed resize stacking bug on Safari browsers
if (navigator.userAgent.indexOf('Safari') && !navigator.userAgent.indexOf('Chrome')) {
var divheight = $(".image").height();
/* Remove 6px on button - to account for border on Safari */
$(".visitor-button").height(divheight-6);
} else {
var divheight = $(".image").height();
$(".visitor-button").height(divheight);
}
});
</script>
编辑 =============================================== ===============
我添加了 Math.floor 函数,但它似乎不起作用。在检查 Chrome 之后,看起来像 177.65px 高的图像使 div 高 178px。这是新代码:
<script type="text/javascript">
$(window).on('load resize', function () {
// Check for Safari - if Safari delete div height of button by 6px. Fixed resize stacking bug on Safari browsers
if (navigator.userAgent.indexOf('Safari') && !navigator.userAgent.indexOf('Chrome')) {
var divheight = $(".image").height();
/* Remove 6px on button - to account for border on Safari */
$(".visitor-button").height(divheight-6);
} else {
var divheight = $(".image").height();
var newheight = Math.floor(divheight);
$(".visitor-button").height(newheight);
}
});
</script>
【问题讨论】:
标签: jquery twitter-bootstrap-3 height rounding