jQuery - 動態建立iframe並加載頁面

使用jQuery能夠方便的建立html對象。下面例子是經過傳入的url和寬度高度,動態的在頁面中央建立一個iframe並加載內容。同時在iframe後面還會添加一個灰色的遮罩,點擊遮罩即可以移除iframe和遮罩。javascript

 
代碼以下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<html>
<head>
<script language= "JavaScript"  src= "jquery-1.11.1.min.js"  type= "text/javascript" ></script>
<script language= "JavaScript"  type= "text/JavaScript" >
/**
彈出iframe頁面(iframe後面會添加灰色蒙版)
**/
function  showIframe(url,w,h){
     //添加iframe
     var  if_w = w; 
     var  if_h = h; 
     //allowTransparency='true' 設置背景透明
     $( "<iframe width='"  + if_w +  "' height='"  + if_h +  "' id='YuFrame1' name='YuFrame1' style='position:absolute;z-index:4;'  frameborder='no' marginheight='0' marginwidth='0' allowTransparency='true'></iframe>" ).prependTo( 'body' );    
     var  st=document.documentElement.scrollTop|| document.body.scrollTop; //滾動條距頂部的距離
     var  sl=document.documentElement.scrollLeft|| document.body.scrollLeft; //滾動條距左邊的距離
     var  ch=document.documentElement.clientHeight; //屏幕的高度
     var  cw=document.documentElement.clientWidth; //屏幕的寬度
     var  objH=$( "#YuFrame1" ).height(); //浮動對象的高度
     var  objW=$( "#YuFrame1" ).width(); //浮動對象的寬度
     var  objT=Number(st)+(Number(ch)-Number(objH))/2;
     var  objL=Number(sl)+(Number(cw)-Number(objW))/2;
     $( "#YuFrame1" ).css( 'left' ,objL);
     $( "#YuFrame1" ).css( 'top' ,objT);
 
     $( "#YuFrame1" ).attr( "src" , url)
 
     //添加背景遮罩
     $( "<div id='YuFrame1Bg' style='display:block;z-index:3;position:absolute;left:0px;top:0px;filter:Alpha(Opacity=30);/* IE */-moz-opacity:0.4;/* Moz + FF */opacity: 0.4; '/>" ).prependTo( 'body' ); 
     var  bgWidth = Math.max($( "body" ).width(),cw);
     var  bgHeight = Math.max($( "body" ).height(),ch);
     $( "#YuFrame1Bg" ).css({width:bgWidth,height:bgHeight});
 
     //點擊背景遮罩移除iframe和背景
     $( "#YuFrame1Bg" ).click( function () {
         $( "#YuFrame1" ).remove();
         $( "#YuFrame1Bg" ).remove();
     });
}
</script>
</head>
<body>
<input type= "button"  onClick= "showIframe('http://hangge.com',460,280)"  value= "加載" />
</body>
<html>

效果圖:css

原文:jQuery - 動態建立iframe並加載頁面


原文出自:www.hangge.com  轉載請保留原文連接:http://www.hangge.com/blog/cache/detail_434.htmlhtml

相關文章
相關標籤/搜索