jQuery调整iframe高度

Posted

技术标签:

【中文标题】jQuery调整iframe高度【英文标题】:jQuery adjusting iframe height 【发布时间】:2012-08-06 01:58:19 【问题描述】:

此代码已传递给我。它使我的 iframe 设置为屏幕的 100% 高度:

jQuery(document).ready(function()var height = $(window).height();
             $('iframe').css('height', height)
         );

我是 javascript 新手。如何编辑此代码以使其设置为 90% 高度而不是 100%?此外,此代码针对所有 iframe,有没有办法使其针对特定 iframe(通过其 ID 或 NAME 值)?如果您愿意,可以在此处修改此代码:http://jsfiddle.net/VurLy/

【问题讨论】:

【参考方案1】:

乘以 90%?

jQuery(document).ready(function() 
    var height = $(window).height();
    $('iframe').css('height', height * 0.9 | 0);
);

至于按 ID 或名称定位,只需将适当的选择器传递给 $ 而不是 'iframe'

【讨论】:

你能解释一下你用适当的选择器来$而不是'iframe'是什么意思吗?你能写一个有效的例子吗?请注意,我是编码新手... @HenrikPetterson:传递将应用于您的元素的 CSS 选择器。例如,$('#some-element') 将选择具有idsome-element 的元素。 @HenrikPetterson 这是 Jquery 的文档。 (请注意完整的 CSS 选择器规则链接)api.jquery.com/category/selectors @HenrikPetterson,用于在 id 上进行选择:$('#scoop')。用于选择名称:$('iframe[name="scoop"]')。从你的 jsFiddle 中获取 id 和 name。【参考方案2】:
jQuery(document).ready(function()
    $('#YOUR_FRAME_ID_HERE').css('height', '90%')
);​

【讨论】:

这不起作用,我添加了 iframe 的 ID,但它没有对 iframe 做任何事情。 我尝试了您的示例,但没有成功,请自行查看:jsfiddle.net/VurLy/1 当我运行jsfiddle.net/VurLy/1 并单击链接时,它会将 iFrame 加载到 90% 的高度。什么不起作用?【参考方案3】:

在 jquery 中,您可以通过多种不同方式识别您想要的元素,最流行的是像这样 $('#scoop') 或类这样的 id,像这样 $('.scoop') - 如果类是勺子

这就是您识别所需的特定 iFrame 的方式,然后像这样更改高度

 jQuery(document).ready(function() 
   var height = $(window).height();
   $('#scoop').css('height', '90%'); 
);

【讨论】:

我尝试了您的示例,但没有成功,请自行查看:jsfiddle.net/VurLy/1 您在 html "style= ... > 中设置了高度,这将覆盖任何 css 你真的可以将它设置为 90% 并避免 jQuery 更多地用于动态更改高度,而不仅仅是在 document.ready 上设置它

以上是关于jQuery调整iframe高度的主要内容,如果未能解决你的问题,请参考以下文章

根据内部更改的内容动态调整 jQuery Fancybox 的 iframe 高度

为 iframe 内容调整 jQuery 颜色框的大小?

jQuery解决iframe高度自适应代码

完成所有 jquery ajax 请求后如何调整 iframe 的大小

iframe调用子页面按子页面的内容自动调整高度

根据内容动态调整 iframe 高度