【问题标题】:Setting div height on ready and resize在准备好和调整大小时设置 div 高度
【发布时间】:2013-07-13 23:14:09
【问题描述】:

我有一个要根据窗口高度调整大小的 div。我在它上面(高度=97px)和下面(高度=200px)有一个静态高度div。到目前为止,我有以下代码:

function eventSize(){
    var windowHeight = $(window).height();
    eventHeight = windowHeight - 297;
    $('#mainEvent').css('height',eventHeight + 'px');
}
$(document).ready(eventSize);
$(window).resize(eventSize);

代码似乎可以调整大小,但在页面加载时显示没有高度。作为参考,该页面位于此处:www.fuelogix.com/test/roi.html。如果这可以通过 CSS 完成,我也对这些选项持开放态度。

【问题讨论】:

  • 只是一个猜测,但请尝试将$(document).ready(eventSize); 包装在 setTimeout 中,看看会发生什么。例如setTimeout(function(){$(document).ready(eventSize);},250);

标签: jquery html responsive-design height document-ready


【解决方案1】:

您在该页面上似乎还有其他损坏的 javascript。这很可能会阻止它工作。错误在这里

$(...).cycle 不是 midMenu.js 第 27 行中的函数

 //Background Cycle
$('#backgroundMid').cycle({

我能够以不同的方式表达您的代码。没有问题。

$(function(){
    $(window).resize(function(){
        var windowHeight = $(window).height();
        eventHeight = windowHeight - 297;
        $('#mainEvent').css('height',eventHeight + 'px');
    }).resize();    
});

我的另一个建议是计算偏移量,而不是使用硬编码的 297 值。

【讨论】:

  • 看起来损坏的脚本阻止了该脚本在页面加载时触发。您的代码版本也适用。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
相关资源
最近更新 更多