【问题标题】:Rounding jQuery .height() Down向下舍入 jQuery .height()
【发布时间】: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


    【解决方案1】:

    您可以使用 javascript 的 Math.floor() 函数将 divheight 舍入为之前的整数值,然后在 height() 函数中使用它。

    【讨论】:

    • 它似乎仍然不起作用,我编辑了我的问题以显示新代码。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多