最重要的是,让它知道,我是完全n00b在jQuery。
第二,我在任何地方都找不到关于这个问题的任何具体信息,这就是为什么我现在终于发布了这个问题。
最后,关于这个问题,令人难以置信的奇怪和令人沮丧的事情是,我会让代码正常工作,然后离开我的电脑做点别的事情,当我突然回来的时候,代码就不再工作了。
下面是代码,我将其存储在外部文件中,并从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',代码将确实识别该值并相应地调整填充。
我真是太困惑了。任何帮助都将不胜感激!
根据请求,以下是所有相关的:
<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工作。
编码愉快!
发布于 2015-11-24 05:02:34
问题是跨浏览器的兼容性。
'margin-bottom'为Chrome工作。
'padding-bottom'为Edge、Firefox和Waterfox工作。
我希望这对将来的人有所帮助:)
发布于 2015-11-24 03:05:07
很久以前没有使用jQuery了,但是我认为height()会给你一个数字。
所以试着通过ht+'px‘
因为css是由字符串组成的。
此外,jQuery.height()为您提供了解析的css高度,因此如果您在样式表中使用%,就会有一个bug。在这个场景中,考虑获取对象边界框并从那里获得高度。
这应该是如何得到BB。
$(...).getBoundingBox().height()JQuery以一行的方式解析CSS,因此给出了%的问题,并且对不同的浏览器都很敏感,而且.height()只有在文档生成后消失时才可用。BB与呈现引擎直接交互,该引擎将%转换为px并排列页面中的元素。这会给你任何物体的真实位置。(浏览器内部)
发布于 2015-11-24 03:09:07
Jquery高度方法以数字形式返回高度。
var ht = $('#contactinfo').height(); //returns height in number但是填充值需要在px中,所以将代码更改为下面的行,它应该可以工作:
$('.content p:last').css({'padding-bottom':ht+'px'});https://stackoverflow.com/questions/33884647
复制相似问题