Javascript 子窗口调用父窗口js方法

JavaScript041

Javascript 子窗口调用父窗口js方法,第1张

 JS子窗口调用父窗口的方法:

 框架(iframe)形式,这时用到是window.parent, window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:

1、1.html代表的是父窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

<html xmlns="

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<title>父页面</title>

</head>

<body>

<form name="form1" id="form1"> 

   <input type="text" name="username" id="username" /> 

</form> 

<iframe src="2.html" width="100%">

</body>

</html

2、2.html代表的子窗口

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

<html xmlns="

<head>

<meta http-equiv="Content-Type" content="text/html charset=utf-8" />

<title>子页面</title>

<script type="text/javascript">

 function changeValue(val){

  var _parentWin = window.parent   

  _parentWin.form1.username.value = val 

 }

</script>

</head>

<body>

<input type="file" name="filename" onchange="changeValue(this.value)" />

</body>

</html>

这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。

首先你这些DIV 是固定死的么?

<div>1</div>

<div>2</div>

<div>3</div>

<div>4</div>

<div>5</div>

<div>6</div>

<div>7</div>

<div>8</div>

<div>9</div>

把下面的复制,运行下子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>div分页显示_脚本之家_www.jb51.net</title>

<style type="text/css">

#frameContent{

width:500px /*调整显示区的宽*/

height:200px/*调整显示区的高*/

font-size:14px

line-height:20px

border:1px solid #000000

overflow-pageINdex:hidden

overflow-y:hidden

word-break:break-all

}

a{

font-size:12px

color:#000000

text-decoration:underline

}

a:hover{

font-size:12px

color:#CC0000

text-decoration:underline

}

</style>

</head>

<body>

<div id="frameContent">

<p>北京奥运会颁奖礼仪服装共十六款。其中男装一款作为升旗手制服。女装十五款分为五个系列,每一系列分别按照嘉宾引导员、运动员引导员和托盘员的不同职能设计了三个不同款式。在奥运会的302场和残奥会的472场颁奖仪式上,这五个系列的礼服将分别出现在不同的场馆及比赛中。</p>

<p>"青花瓷"系列使用在国家游泳中心水立方、顺义水上公园和青岛等所有水上项目的颁奖仪式中。 </p>

<table cellspacing="0" cellpadding="0" align="left" border="0">

<tbody>

<tr>

<td valign="top"></td>

</tr>

<tr>

<td></td>

</tr>

</tbody>

</table>

设计灵感取自世界闻名的中国青花瓷器。中国传统乱针绣的运用形象逼真地再现了青花瓷的晕染效果。鱼尾裙的廓形设计凸显了中国女性的柔美曲线。

</p>

<p>宝蓝系列使用在体操、室内球类比赛和击剑等项目的颁奖现场。服装采用温润典雅的宝蓝色作为礼服主色,腰间饰有采用传统盘金绣制作的腰封,图案选用最具中国传统文化审美意趣和美好愿望的吉祥纹样——江山海牙纹、牡丹花纹,凸显了鲜明的中国特色和民族风格。同时也向全世界人民展示了中国最高超的刺绣工艺。中式的立领配以西式的肩部设计尽现中国女性落落大方的高贵气质。</p>

<p>国槐绿系列丝缎礼服使用在自行车、射击、现代五项等项目的颁奖仪式上。礼服寓意蓬勃朝气的生命和郁郁葱葱的环境,体现了与自然和谐发展的美好愿望及坚守"绿色奥运"的决心。立体银线绣制的吉祥牡丹和契合女性柔美曲线的卷曲花纹,更显身段的婀娜多姿和东方女性的恬静气质。</p>

<p>"玉脂白"系列将出现在国家体育场、所有的室外球类比赛以及香港马术比赛中。它巧妙地呼应了奥运奖牌金镶玉的理念,彩绣腰封和玉佩的设计,既是中国玉文化的完美再现又是对传统旗袍设计的一次创新。层次丰富的绿色与牙白色丝绸面料的质感完美搭配,更突出了中国女性内敛、含蓄的特质。</p>

<p>粉红色系列主要出现在拳击、举重、摔跤等力量型比赛中,以传统盘金绣工艺制作的宝相花图案腰饰,分割出完美的人体比例。领部的设计突出了颈部的优美线条,同时以粉色的柔美来中和比赛的阳刚之气。</p>

<p>升旗手服装与青花瓷礼服遥相呼应,在体现中国传统文化的同时又不失阳刚之气,将出现在所有的奥运会和残奥会比赛场馆中。</p>

<p>所有的奥运礼服和升旗手制服都绣有"Beijing 2008"的字样。</p>

<p>"十分具有中国文化特色"是国际奥委会对这些服装的第一评价。2007年5月23日,由北京奥组委主办、中国服装设计师协会和北京市工业促进局协办的北京奥运会颁奖礼仪服装设计征集活动启动后,共收到有效作品305份,包括服装成衣137套、效果图168份。投稿作品中包括全国"十佳"设计师投稿127份,服装设计专业院校投稿80份。</p>

<p>2007年8月2日—3日,经过初评和复评。由北京奥组委领导、中国艺术及服装设计界专家、国际奥委会形象景观专家及冠军运动员代表组成的评审小组共选出成衣作品30件,包括托盘员礼服8件、嘉宾引导员礼服7件、运动员引导员礼服10件、升旗手制服5件。2007年8月至2008年2月,北京奥组委组织专家召开了十余次方案修改研讨会。入围设计师在专家组的指导下多次修改方案、制作样衣。并先后于2007年11月8日和08年2月3日两次上报北京奥组委执委会审议。最终方案于2008年2月底通过国际奥委会审批。(张宇)</p>

<!-- ..STYLE1 {color: #000000font-weight: boldfont-size: 14px} ..STYLE4 {color: #000000} ..STYLE5 {color: #000000font-weight: bold} ..STYLE6 {color: #000000}-->

</div>

<P>

<div id="pages" style="font-size:12px"></div>

<script language="javascript">

var obj = document.getElementById("frameContent") //获取内容层

var pages = document.getElementById("pages")//获取翻页层

var pgindex=1 //当前页

window.onload = function() //重写窗体加载的事件

{

var allpages = Math.ceil(parseInt(obj.scrollHeight)/parseInt(obj. offsetHeight))//获取页面数量

pages.innerHTML = "<b>共"+allpages+"页</b>"//输出页面数量

for (var i=1i<=allpagesi++){

pages.innerHTML += "<a href=\"javascript:showPage('"+i+"')\">第"+i+"页</a>"

//循环输出第几页

}

pages.innerHTML += " <a href=\"javascript:gotopage('-1')\">上一页</a> <a href=\"javascript:gotopage('1')\">下一页</a>"

}

function gotopage(value){

try{

value=="-1"?showPage(pgindex-1):showPage(pgindex+1)

}catch(e){

}

}

function showPage(pageINdex)

{

obj.scrollTop=(pageINdex-1)*parseInt(obj.offsetHeight) //根据高度,输出指定的页

pgindex=pageINdex

}

</script>

</body>

</html>

js中弹出窗口:open

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html charset=gb2312" />  

<title>弹窗示例</title>  

</head>  

<script language="javascript">  

<!--  

//打开模式窗口  

function open1(){  

  //设置模式窗口的一些状态值  

  var windowStatus = "dialogWidth:460pxdialogHeight:380pxcenter:1status:0"  

  //在模式窗口中打开的页面  

  var url = "test.html"  

  //将模式窗口返回的值临时保存  

  var temp = showModalDialog(url,"",windowStatus)  

  //将刚才保存的值赋给文本输入框returnValue  

  document.all.returnValue.value = temp  

}  

//打开全屏窗口  

function open3(){  

  //设置窗口的一些状态值  

  var windowStatus = "fullscreen = 1"  

  //在窗口中打开的页面  

  var url = "test.html"  

      window.open(url,"noMenuWindowName",windowStatus)    

}  

-->  

</script>  

<body>  

<input type="button" name="btn1" value="打开窗口" onClick="open1()">  

<br>  

从窗口返回的值:  

<input type="text" id="returnValue" name="returnValue">  

</body>  

</html>

弹出的窗口2.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  

<html>  

 <head>  

  <title> New Document </title>  

  <meta name="Generator" content="EditPlus">  

  <meta name="Author" content="">  

  <meta name="Keywords" content="">  

  <meta name="Description" content="">  

  <script type="text/javascript">  

        function setV(){  

            //把值返回给父窗口  

            window.opener.document.all.ff.value="usr"  

            window.close()  

        }  

  

  </script>  

 </head>  

  

 <body>  

  <input type="button" onclick="setV()" value="保存"/>  

 </body>  

</html>