javaScript 框架函数互相调用

例:

window.parent.window.parent.leftframe.Tree.setNodeTitle(title);

window.parent.window.parent.frames["leftframe"].Tree.setNodeTitle(title);

注:

leftframe: 是框架Id

Tree.setNodeTitle():是js函数


以下是完整案例

1.index.htlml

<!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/html; charset=utf-8" />
<title>主页</title>
</head>
 <frameset cols="20%,*">
     <frame src="left.html" id="leftframe" name="leftframe" noresize="noresize" />
        <frame src="right.html" id="rightframe" name="rightframe" />
    </frameset>
</html>

2.left 页面

<!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/html; charset=utf-8" />
<title>无标题文档</title>
<style  type="text/css">
dl dd{ line-height:30px;}
.select{ background-color:#ccc;}
</style>
<script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var Tree={
selectedNode:null,
params:{
rightTabIndex:0  //默认为0
},
setParams:function(paramJson){
for(var key in paramJson){
this.params[key]=paramJson[key];
}
// alert("赋值成功"+this.params.rightTabIndex);
},
init:function(){
$("#dlTree").delegate("dd","click",this.nodeClick);
},
nodeClick:function(){
$("#dlTree>dd.select").removeClass("select");
$(this).addClass("select");
Tree.selectedNode=$(this);
Tree.setRightFrameParams();
Tree.updateRightFrameTabData();
},
setNodeTitle:function(title){
this.selectedNode.html(title);
},
setRightFrameParams:function(){
var paramJson={"title":this.selectedNode.html()};
window.parent.window.rightframe.RightFrame.setParams(paramJson);
},
updateRightFrameTabData:function(){
window.parent.window.rightframe.RightFrame.updateTabData();
}

} // Tree End


$(function(){
  Tree.init();
  });

</script>
</head>


<body>
<dl id="dlTree">
<dt>测试管理</dt>
<dd class="select">测试1</dd>
<dd>测试2</dd>
<dd>测试3</dd>
<dd>测试4</dd>
<dd>测试5</dd>
</dl>
</body>
</html>


3.right 页面

<!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/html; charset=utf-8" />
<title>无标题文档</title>


<style  type="text/css">
.select{ background-color:#ccc;}
</style>
<script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var RightFrame={
tabIndex:0, //默认为0;
params:{
title:""  //标题
},
element:{
tabFrame:["#infoView","#infoDetail"]
},
setParams:function(paramJson){
for(var key in paramJson){
this.params[key]=paramJson[key];
}
},
init:function(){
$("#tab").delegate("tbody>tr>td","click",this.tabClick);
},
tabClick:function(){
$("#tab>tbody>tr>td.select").removeClass("select");
$(this).addClass("select");
var index=$(this).prevAll("td").length;
$("iframe:visible").hide();
$(RightFrame.element.tabFrame[index]).show();
RightFrame.tabIndex=index;
RightFrame.setTreeTabIndex();
},
setTreeTabIndex:function(){
//设置左边 Tree 的 Param 
window.parent.window.leftframe.Tree.setParams({rightTabIndex:this.tabIndex});
},
updateTabData:function(){ //更新Tab 页数据
 
window.infoView.Info.setData(this.params);
}
}
$(function(){
  RightFrame.init();
  });
</script>
</head>


<body>
<table id="tab">
<tbody>
<tr>
<td class="select">基本信息</td>
<td>详情信息</td>
</tr>
</tbody>
</table>
<iframe id="infoView" name="infoView" frameborder="0" src="view.html" height="600px" width="100%" style="" >
</iframe>
<iframe id="infoDetail" name="infoDetail"  frameborder="0" src="detail.html" height="600px" width="100%" style=" display:none;" >
</iframe>
</body>
</html>

4.right tab view

<!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/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var Info={
element:{
},
init:function(){
$("#btnSave").click(this.saveClick)
},
setData:function(paramJson){
$("#title").val(paramJson.title);
},
saveClick:function(){
Info.updateTreeNodeData();
},
updateTreeNodeData:function(){
var title=$("#title").val();
//window.parent.window.parent.leftframe.Tree.setNodeTitle(title);
window.parent.window.parent.frames["leftframe"].Tree.setNodeTitle(title);
alert("ss")
}
}
$(function(){
  Info.init();
  });
</script>
</head>


<body>
基本信息页
<div >
 
<input id="title" value="测试1" />
<input type="button" id="btnSave" value="保存" />
</div>
</body>
</html>

5.right tab detail  未实现

<!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/html; charset=utf-8" />
<title>无标题文档</title>
</head>


<body>
详情页
<div>
<input type="text" id="title" value="测试1" />
<input type="button" id="btnSave" value="保存" />
</div>
</body>
</html>


7.说明:

找一个1.6或以上版本的jquery ,修改下jquery的路径就可以了。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值