JQuery 在原始填充中添加填充
JQuery add padding to original padding
这可能很简单,但我无法弄清楚。我想使用 jquery 将填充顶部添加到div 中,以及它的原始填充顶部。到目前为止,我的代码是:
var headH = $('#header').outerHeight();
var mastPad = $('#masthead').css('padding-top');
$('#masthead').css('padding-top', mastPad + headH);
我认为这会导致大量的填充,因为 JQuery 不断增加填充。我需要找到一种方法来抓住原来的填充顶部,然后添加到它上面。
谢谢
$('#masthead').css('padding-top')
返回一个字符串,而不是一个数字,因此可能是headH
被附加到该字符串中,而不是添加到其数值中;
也许:
$('#masthead').css('padding-top', parseInt(mastPad, 10) + headH);
parseInt
将解析它能找到的内容,然后忽略其余部分。因此,"42px"
变得42
(而使用一元+
或Number
会在px部分窒息)。
这是一个自包含的示例,使用 with
div 而不是 without
div 在 Chrome 上为我复制了问题:
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"最终成为一个非常大的垫子,但是......
outerHeight 包括顶部、底部填充和边框。
您可以将该变量存储在全局上下文中,然后防止其递增,如下所示:
var originalPad;
var ranOnce = false;
function GrowPadding() {
var headH = $('#header').outerHeight();
if(!ranOnce) {
mastPad = parseInt($('#masthead').css('padding-top'), 10);
ranOnce = true;
}
$('#masthead').css('padding-top', mastPad + headH);
}
相关文章:
- 有角度的材质,当添加波纹时,它将填充而不是消失
- 动态下拉列表选项在添加多列后未填充
- 在 JavaScript 时钟中的单个字符之前添加填充 0
- (X-Editable)与(Select2标签)不工作,可以't填充当前标签并跟踪添加/删除的标签
- 如何在Javascript中添加忽略父元素左边距和填充的子元素
- 如何在javascript中添加一个具有checkbox属性的变量,该变量将填充view.php中的一个表
- 当上一行/当前行被填充时,将新行添加到HTML表中
- 如何正确使用XSLTProcessor向现有html页面填充表(或添加独立元素)
- 如何在跨度中添加底部填充
- 将文本区域的值添加到已填充的输入中
- 在填充另一个选择框时动态添加选择框
- 在填充另一个输入框时动态添加输入框
- 在Firefox和IE中,向按钮添加填充可以向下推其他按钮
- Jquery计算元素中的字符,并为太短的字符添加填充
- 使用Javascript添加侧边栏并更改某些HTML页面上的填充
- 挖空.js - 对表求和,添加行并用 AJAX 填充表
- 如何使jQuery .map只向数组添加填充的输入
- PHP,MySql和JQuery - 按添加按钮后填充选择框
- 从 XML 列表填充的 ASP 下拉列表如何添加工具提示
- 在填充运行时的表中添加无限滚动