我忙着写的代码,应该让边界框盒模型的跨浏览器使用一个小片段。 到目前为止,基本功能工作正常,但我不能让保证金工作。 它应该适应这就是可用的空间,但控制台返回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
截断号为整数值。 开头和结尾有空格。
小提琴
parseInt
参考
因为这:
$(this).css("padding-left")
和
$(this).css("border-left-width")
返回包含“PX”的字符串,你尝试用2乘,导致NaN的。 您可以通过解析生成的字符串倍增,这样的前漂解决这个问题:
(parseFloat($(this).css("padding-left")) * 2 )
希望这可以帮助!