我正忙着写一小段代码,它应该允许跨浏览器使用边框框模型。到目前为止,基本功能工作正常,但我无法获得工作余地。它应该适应可用的空间,但控制台返回一个 NaN,我不知道它来自哪里。
这是一个小提琴。
console.log 甚至没有记录任何东西,我也不知道为什么。任何帮助是极大的赞赏。
我正忙着写一小段代码,它应该允许跨浏览器使用边框框模型。到目前为止,基本功能工作正常,但我无法获得工作余地。它应该适应可用的空间,但控制台返回一个 NaN,我不知道它来自哪里。
这是一个小提琴。
console.log 甚至没有记录任何东西,我也不知道为什么。任何帮助是极大的赞赏。
在您的小提琴的许多部分中,您都有这种模式:
($(this).css("border-left-width") * 2).replace("px", "")
您试图在执行导致语法错误的乘法px
后擦除。它应该是
($(this).css("border-left-width").replace("px", "") * 2)
通过自动类型转换或
(parseInt($(this).css("border-left-width"), 10) * 2)
它将字符串解析为整数,删除尾随px
:
如果
parseInt
在指定的基数中遇到不是数字的字符,它会忽略它和所有后续字符并返回解析到该点的整数值。parseInt
将数字截断为整数值。允许前导和尾随空格。
因为这:
$(this).css("padding-left")
和
$(this).css("border-left-width")
返回一个包含“px”的字符串,您尝试将其与 2 相乘,得到 NaN。您可以通过在相乘之前将结果字符串解析为浮点数来解决此问题,如下所示:
(parseFloat($(this).css("padding-left")) * 2 )
希望这可以帮助!