ASP.NET實現自適應圖片大小的彈出窗口

     在最近的項目中,遇到一個問題,要實現這樣的效果:
      點pic_small.Aspx頁面的縮略圖後彈出pic_all.aspx頁面,pic_all.aspx頁面的大小要根據圖片大小自動調整,而且要有圖片的說明信息,還可以點上一幅和下一幅等進行翻頁。
      實現過程如下:
      pic_small.Aspx頁面縮略圖處的代碼爲:
      <IMG id="imgPic" style="CURSOR: hand"  border=0 height="95" οnclick="ShowWindow(<%#DataBinder.Eval(Container.DataItem,"ID")%>)" src='<%#"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像素,因爲要留一些空間用來實現圖片的說明信息。
      這樣就可以實現彈出來的窗口既可以根據圖片大小自動調整,而且又可以隨意編輯彈出來的頁面,因爲彈出來的頁面是一個指定頁面,無論要編輯什麼,都可以和平時處理頁面一樣處理了。  

      感謝 伯虎 提供整個實現過程的關鍵代碼,要不是他的幫忙,今天我就完不成項目了,也就沒有辦法安心離開現在的公司了,在此對每一個熱心幫助別人的朋友表示衷心的感謝,這就是爲什麼我會把項目中遇到的問題都寫出來的原因,希望能給更多人一些幫助。<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章