javascript - 我可以使用 jQuery 调整 iframe 的大小以填充剩余的窗口空间吗?

标签 javascript jquery html css iframe

我有一个高度为 90 像素的 div。在它下面是一个 iframe。

我想弄清楚如何编写 javascript(或 jQuery)以始终将 iframe 设置为正确的高度以占据屏幕的其余部分。如果有更好的基于 HTML5 的解决方案,我当然也很想知道。

Javascript:

$(document).ready(function() {

    var $window = $(window);
    function checkSize() 
    {
        var windowHeight = $window.height();
        var frameHeight = windowHeight - 90;
        $('iframe').height() = frameHeight; 
    }
    checkSize();
    $(window).resize(checkSize);

});

HTML:

<body style="overflow:hidden;">
<div style="height:90px;">
Content goes here
</div>

<iframe src="www.someurl.com" style="width:100%; height:900px; seamless: seamless; frameborder: 0;"></iframe>
</body>

最佳答案

首先将您的 iframe 显示为 block。然后,您可以使用 iframe 的顶部相对于窗口高度,计算它到底部的距离:

jQuery

$(window).on('load resize', function(){
    $window = $(window);
    $('iframe').height(function(){
        return $window.height()-$(this).offset().top;   
    });
});

CSS

iframe{
    display:block; 
    margin:0; 
    padding:0; 
    border:0;
}

JSFiddle

关于javascript - 我可以使用 jQuery 调整 iframe 的大小以填充剩余的窗口空间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20125340/

相关文章:

html - 为什么我的 slider 在 Firefox 中显示不正确?

javascript - 如何在 vue 3 中实现可重用的组件输入?

jquery - 通过 jQuery.css() 自定义光标图形

html - 删除手机屏幕菜单的代码

jquery - slider 图像在 IE 之外不起作用

javascript - 使用 jquery 从表中删除动态添加的行

javascript - 当服务中数据发生变化时如何通知组件

javascript - 三个不同类之间的toggleClass

javascript - 如何根据 ajax 成功创建 Stripe token 的条件

javascript - HTML5文件读写同步