动态地将javascript / jquery对话框的大小更改为图像的大小

时间:2010-10-25 17:16:16

标签: javascript jquery resize

我有一个javascript / jquery问题。

我的项目中设置了自定义jquery对话框。我用div和image标签设置了它。该图像填充了filedownload链接。

<'custom jquery dialog'  runat="server" ID="dialogView" AutoOpen="false"   CloseOnEscape="true" Modal="true" Title="" Visible="true" >
    <div runat="sever" id="imageContainer">
        <img src="" alt="Image" runat="server" id="theImage" />
    </div>
</'custom jquery dialog'>

这是盒子本身的设置。这是我必须使用图像填充框的javascript,具体取决于从类

发送的链接
function viewImage(link){
    $('#<%= this.theImage.ClientID %>').attr('src', link);\
    showDialog(<%= this.dialogView.ClientID %>);
}

这很好用,并显示包含图像的对话框。但是,我真的希望能够调整此对话框/ div的大小。如何根据图像大小更改?我试过这个

function changeSize(){
    var imageHeight = $('#<%= this.theImage.ClientID %>').height;
    var imageWidth = $('#<%= this.theImage.ClientID %>').width;
    $('#<%= this.dialogView.ClientID %>').height = imageHeight;
    $('#<%= this.dialogView.ClientID %>').width = imageWidth;
    $('#<%= this.imageContainer.ClientID %>').height = imageHeight;
    $('#<%= this.imageContainer.ClientID %>').width = imagewidth;
}

上面的函数在实现时,是在viewImage函数中的showDialog调用之前添加的。这不能正常工作。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我不是ASP.NET人员,但jQuery有width()height() 方法而非属性,就像您在代码中使用的一样。你可以试试这个:

function changeSize(){
    var imageHeight = $('#<%= this.theImage.ClientID %>').height();
    var imageWidth = $('#<%= this.theImage.ClientID %>').width();
    $('#<%= this.dialogView.ClientID %>').height(imageHeight);
    $('#<%= this.dialogView.ClientID %>').width(imageWidth);
    $('#<%= this.imageContainer.ClientID %>').height(imageHeight);
    $('#<%= this.imageContainer.ClientID %>').width(imagewidth);
}