我有一个页脚应该使用javascript函数自动显示,具体取决于它的outerHeight(),但它没有..调试我得到空值..
<section class="z-index-1 pull-bottom-fixed full-width" data-pages="reveal-footer">
<section>
<div class="container">
<dv class="row"></div>
<dv class="row"></div>
</div
</section>
<section>
<div class="container">
<div class="row"></div>
<dv class="row"></div>
</div>
</section>
</section>
这是揭示 - 页脚功能
Pages.prototype.initRevealFooter = function() {
var _elem = $('[data-pages="reveal-footer"]');
setHeight();
function setHeight(){
var h = _elem.outerHeight();
_elem.prev().css({
'margin-bottom':h
})
}
$(window).resize(function(){
setHeight();
})
}
当我检查_elem.outerHeight()时,我得到null ...
我使用的是最新的JQuery版本(1.11.3) 我读了关于outerHeight()的jQuery ......
更新
调整大小工作正常(我可以滚动到底部以查看页脚)在OS X上的FF和Chrome上但不在Safari上。
所以Safari不喜欢这段代码
Pages.prototype.initRevealFooter = function() {
var _elem = $('[data-pages="reveal-footer"]');
setHeight();
function setHeight(){
var h = _elem.outerHeight();
_elem.prev().css({
'margin-bottom':h
})
}
$(window).resize(function(){
setHeight();
})
}
答案 0 :(得分:0)
如果这是你在页面上唯一的代码,而不是@charlietfl评论的代码 - 如果元素没有内容或样式,则没有高度。
您应该发布更多代码。
查看此笔以获取有效的示例 - &gt; http://codepen.io/anon/pen/jPjjYg
CSS
[data-pages="reveal-footer"]{
height: 10px;
background-color: lime;
}
JS
_g = jQuery('[data-pages="reveal-footer"]');
g.css({'border': '1px solid blue'});
var hh = g.outerHeight(); //returns 12
答案 1 :(得分:0)
在Chrome,FF和Safari中测试相同代码后发现了这个问题... 工作正常w FF和Chrome,但不适用于Safari
我修改了css ...在body标签中插入overflow:auto ...
/*[1. Layouts] */
html,
body {
height: 100%;
overflow: auto;
}
这解决了这个问题......现在可以显示页脚,html代码中的js代码也没有任何错误...只有CSS默认为溢出!不知道为什么Safari默认为否 和FF / Chrome默认为是