【发布时间】:2015-11-24 02:56:12
【问题描述】:
首先,让大家知道我在 jQuery 方面是完全 n00b 的。
其次,我在任何地方都找不到有关此问题的任何具体信息,这就是我现在终于发布此问题的原因。
最后,我遇到的这个问题令人难以置信的奇怪和令人沮丧的事情是,我会让代码正常工作,然后离开我的电脑做点别的事情,当我突然回来时代码不再有效。
这是我存储在外部文件中并从 HTML 引用的代码:
var adjPad = (function() {
var ht = $('#contactinfo').height();
$('.content p:last').css({'padding-bottom':ht});
});
$(document).ready(function(){adjPad();});
$(window).resize(function(){adjPad();});
这不会做任何事情,就好像变量 ht 不存在一样。
但是,如果我将 'padding-bottom' 的值更改为 XYZ + 'px',代码确实会识别该值并调整相应地填充。
我非常困惑。任何帮助将不胜感激!
根据要求,这里是所有相关的 HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="base.js"></script>
...
<div class="content">
<h1>HISTORY</h1>
<p></p>
</div>
...
<div id="contactinfo">
<div id="contactinfocontainer">
<div id="left">
<ul>
<li></li>
</ul>
</div>
...
</div>
</div>
...
感谢到目前为止的所有回复!
已解决!
问题在于跨浏览器的兼容性。
'margin-bottom' 适用于 Chrome。
'padding-bottom' 适用于 Edge、Firefox 和 Waterfox。
编码愉快!
【问题讨论】:
-
打印ht的值到控制台,它说什么?另外,您是否尝试过 ht + 'px'
-
我在 jsFiddle 中运行了他的代码,它记录了正确的高度,只需尝试@EricGuan 所说的并添加 ht + 'px'。
-
您能否将相关的
HTML添加到您的问题中,以便在您的 jQuery 不正确匹配的情况下,我们可以确切地看到可能出现的问题? -
我也尝试过使用 ht + XYZ + 'px',它只识别 XYZpx。抱歉,我不知道如何从控制台打印 ht 的值,但我会在吃完这个蒜蓉面包后立即学习如何做到这一点:)跨度>
-
添加这一行:
console.log(ht);
标签: javascript jquery css function methods