jquery - 如何使用jquery更改div内多个iframe的高度

标签 jquery html css

我在一个 div 中有多个 iframe。每个 iframe 的内容不同,因此每个 iframe 的高度不同。

<div id="multipleIframe">
    <iframe></iframe>
    <iframe></iframe>
    <iframe></iframe>
    <iframe></iframe>
</div>

我正在使用内容轮播在一个 iframe 与另一个 iframe 之间切换。

最初发生的是内容轮播动画在每个 iframe 之间自动切换。然后登陆第一个 iframe。然后用户可以使用轮播导航在 iframe 之间切换。

我正在如下操作 iframe 的高度:

$("#multipleIframe iframe").each(function() {
    var heightIframe;
    heightIframe = $("iframe").contents().height();
    $("iframe").css({
        "height": heightIframe
    });
});

这仅适用于第一个 iframe,其余 iframe 的位置基于已经计算好的第一个。因此使内容被截断。

我希望它在动画期间以及用户尝试使用导航在 iframe 之间切换时工作。

有人解决这个问题吗?

最佳答案

它应该适合您。它可能不起作用的唯一情况是您的代码甚至在加载所有 iframe 之前就已执行。在那种情况下,代码可能只找到第一个 iframe 并设置它的高度。或者,在函数上设置一个计时器并在一定时间间隔后执行它。这是显示此方法的演示:

http://jsfiddle.net/GCu2D/716/

将其更改为:

setTimeout(function () {
    $("#multipleIframe iframe").each(function () {
        var heightIframe;
        heightIframe = $(this).contents().height();
        console.log(heightIframe);
        $(this).css({
            "height": heightIframe + "px"
        });
    })
}, 3000);

关于jquery - 如何使用jquery更改div内多个iframe的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30522208/

相关文章:

javascript - 我如何将选中的复选框的数量添加到这个 jquery/js 代码

html - Flowplayer中的HTML5音频

events - 收听所有 html 视频事件

ios - 在浏览器的视口(viewport)中有选择地切换 <DIV>

javascript - 点击跟踪器的颜色变化

javascript - 如何通过单击页面中的其他位置取消下拉列表 - stopPropagation?

javascript - jQuery bootstrap-switch 3.0.2 不会触发输入上的更改事件

jquery - toggleClass 在 ajax 情况下无法正常工作

c# - 更改时更新文本框而不刷新

javascript - 如何垂直淡出文本,类似于亚马逊的产品描述