嗨,大家好,我这两天一直在讨厌这个问题。
似乎无法提出解决方案
$(function(){
$('a').on('click', function(e){
e.preventDefault();
$('<div/>', {'class':'myDlgClass', 'id':'link-'+($(this).index()+1)})
.html($('<iframe/>', {
'src' : $(this).attr('href'),
'style' :'width:100%; height:100%;border:none;'
})).appendTo('body')
.dialog({
'title' : $(this).text(),
width : 450,
height : 350,
buttons: [ {
text: "Close",
click: function() { $( this ).dialog( "close" ); }
} ]
});
});
});
iframe被自动调整为100%,但对话框不会自动调整大小。我不想要页面滚动条。在自动调整大小对话框上尝试了很多序列,但没有任何作用。
我有内部php表单,我用href链接,所有表单都不同,需要根据iframe大小调整对话框大小。 我确实有css所以格式化用户表单并不是他们都在DIV中的问题
问题是对话框滚动条。
我做错了什么?
答案 0 :(得分:1)
我更新了你的小提琴:http://jsfiddle.net/NMJCw/2/
resize: function (event, ui) {
var heightDifference = 50;
var widthDifference = 50;
$('iframe').height($(this).height() - heightDifference);
$('iframe').width($(this).width() - widthDifference);
},
使用对话框的resize事件,您可以设置iframe的宽度和高度。我还添加了两个变量,它们是iframe和对话框之间的维度差异 - 您需要计算正确的值并更改它们。
同时调整大小时,会出现一个奇怪的滚动条。也许你可以检查它并设置一些溢出:隐藏(我没有找到设置溢出的正确元素)。