首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery无法获取隐藏页脚的outerHeight

Jquery无法获取隐藏页脚的outerHeight
EN

Stack Overflow用户
提问于 2015-08-23 01:51:18
回答 2查看 269关注 0票数 0

我有一个页脚,它应该根据它的outerHeight()使用javascript函数自动显示,但它没有..调试时我得到空值..

代码语言:javascript
复制
    <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>

以下是Here footer函数

代码语言:javascript
复制
    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上的FF和Chrome上,大小调整工作正常(出现滑块,我可以滚动到底部看到页脚),但在Safari上不行。

所以Safari不喜欢这段代码

代码语言:javascript
复制
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();
    })        
}
EN

回答 2

Stack Overflow用户

发布于 2015-08-23 02:32:21

如果这是页面上仅有的代码,而不是像@charlietfl评论的那样-如果元素没有内容或样式,就没有高度。

你应该发布更多的代码。

请查看此笔以获取适用于-> http://codepen.io/anon/pen/jPjjYg的示例

CSS

代码语言:javascript
复制
[data-pages="reveal-footer"]{
  height: 10px;
  background-color: lime;
}

JS

代码语言:javascript
复制
 _g = jQuery('[data-pages="reveal-footer"]');
g.css({'border': '1px solid blue'});
var hh = g.outerHeight();  //returns 12
票数 0
EN

Stack Overflow用户

发布于 2015-08-23 20:10:14

在Chrome,FF和Safari中测试了相同的代码后发现了这个问题...在FF和Chrome上工作得很好,但在Safari上就不行

我修改了css..。正在body标记中插入overflow: auto ...

代码语言:javascript
复制
 /*[1. Layouts] */
 html,
 body {
    height: 100%;
   overflow: auto;
 }

这解决了问题..。现在可以显示页脚了,在html代码和js代码中都没有错误...只有CSS默认溢出!不知道为什么Safari默认设置为no,FF/Chrome默认设置为yes

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32159085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档