$('#masthead').css('padding-top')
返回串,不是一个数字,所以它可能是headH
正在所附到字符串,而不是添加到其数值;
也许:
$('#masthead').css('padding-top', parseInt(mastPad, 10) + headH);
parseInt
将解析它可以找到,然后忽略其他。所以"42px"
变成42
(而使用一元+
或Number
会在px部分窒息)。
这里是一个自包含的例子,与with
DIV,而不是复制的问题,我在Chrome的without
格:
setTimeout(function() {
var top;
var $without = $("#without");
top = $without.css("padding-top");
snippet.log("top = [" + top + "] (type: " + typeof top + ")");
$without.css("padding-top", top + 100);
var $with = $("#with");
top = parseInt($with.css("padding-top"), 10);
snippet.log("top = [" + top + "] (type: " + typeof top + ")");
$with.css("padding-top", top + 100);
snippet.log("Updated");
}, 2000);
div {
padding-top: 20px;
border: 1px solid #888;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="without">We'll update this div without <code>parseInt</code></div>
<div id="with">We'll update this div with <code>parseInt</code></div>
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
我有些吃惊“20px100 “最后是一个非常大的垫,但...
你叫这个多次?如果是这样,则不需要存储“原始填充”。 – epascarello 2014-11-14 15:40:22
哎呀,对不起,不知道你的意思@epascarello 我想我只是调用一次。 – DesignSubway 2014-11-14 15:41:17
它如何继续增长?另外,您不会从值中删除px /%/ em。 – epascarello 2014-11-14 15:41:49