javascript - 动态 iframe 高度取决于隐藏/显示

标签 javascript jquery iframe dynamic height

我有一个表单,其中包含一些隐藏字段,这些字段仅根据是/否单选按钮问题的答案显示。

此表单在使用 iframe 的多个外部网站上使用,因此位于不同的域中。

如何根据这些隐藏字段是否显示来更改 iframe 的高度。它们的显示/隐藏方式是在单独的 script.js 文件中使用 jquery show/hide 。例如

 $('#show').click(function(){
     $('#additional_fields').show('fast'); 
});

$('#hide').click(function(){
   $('#additional_fields').hide('fast'); 
});


<div id="additional_fields" style="display:none;"> hidden fields here
</div>

包含上述内容的 iframe:

<iframe id="idIframe" src="http://websites.com/form.php" scrolling="no" height="1000" width="950" border="0"/>

更新

我成功地使用以下方法让它工作

$("#idIframe", top.document).css({ height: 1750 });

但是,这仅在使用相同域时有效。

最佳答案

您将需要使用context选项以调用框架集。

$('#show').click(function () {
    $('#additional_fields').show('fast');
    $("iframe",window.document).height(150);
});

$('#hide').click(function () {
    $('#additional_fields').hide('fast');
    $("iframe",window.document).height(0);
});

原因是默认情况下Jquerys上下文设置为当前框架的文档,因此您需要手动设置上下文。

关于javascript - 动态 iframe 高度取决于隐藏/显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14937657/

相关文章:

javascript - 如何在多个 html 元素上重复相同的 Javascript 代码

jquery - 字母数字方法不适用于验证插件?

javascript - iframe 中的谷歌地图不以标签/标记为中心

html - 带有 iframe 的静态左列填充页面右侧的剩余部分

javascript - 管理 LTE 子菜单不会在单击时保持打开状态

javascript - 如何使用 jQuery 将字符串放入输入类型 ="text"中?

javascript - React - react.render() 上未处理的错误事件

css - Blogger - 更改评论文本区域的样式

javascript - D3 圆半径的弹性缓动过渡导致设置负半径

c# - 如何在 Javascript 中使用模型?