在最近的项目中,遇到一个问题,要实现这样的效果: 点pic_small.Aspx页面的缩略图后弹出pic_all.aspx页面,pic_all.aspx页面的大小要根据图片大小自动调整,而且要有图片的说明信息,还可以点上一幅和下一幅等进行翻页。 实现过程如下: pic_small.Aspx页面缩略图处的代码为: <IMG id="imgPic" style="CURSOR: hand" border=0 height="95" onclick="ShowWindow(<%#DataBinder.Eval(Container.DataItem,"ID")%>)" src=..\computer\DownloadFiles\article\26\<%#Images\Product\ + DataBinder.Eval(Container.DataItem,"PicUrl")%>' width="118" runat="server"> ShowWindow保存在OpenWindows.js文件中,内容如下: function ShowWindow(id) { window.open('pic_all.aspx?ID=' + id,'_blank','Scrollbars=no'); } 以下代码即可实现点缩略图后弹出页面pic_all.aspx显示图片信息,下面要实现的是pic_all.aspx页面根据图片的大小自动调整。 把以下代码放在pic_all.aspx页面的<Head></Head>之间: <script> function window.onload() { var obj=document.getElementById("PicUrl"); window.resizeTo(obj.offsetWidth + 127,obj.offsetHeight + 75); } </script> 这里的PicUrl是页面pic_all.aspx中用来显示原图大小的,我用的是html控件,无论你用什么方法,反正就是要从数据库中读出图片的名称或是路径了。 obj.offsetWidth 得到的就是显示出来的原图的宽了,obj.offsetWidth + 127表示窗口在图片的宽度基础上再大127像素,因为要留一些空间用来实现图片的说明信息。 这样就可以实现弹出来的窗口既可以根据图片大小自动调整,而且又可以随意编辑弹出来的页面,因为弹出来的页面是一个指定页面,无论要编辑什么,都可以和平时处理页面一样处理了。 |