php get parent,解析js中获得父窗口链接getParent方法以及各种打开窗口的方法

代码如下:

//打开模态窗口function dialog(obj){

if(obj.url == undefined || obj.url == null){

throw new Error("please set obj.url");

}

var url = obj.url;

if(url.indexOf("?")!=-1){

url = url+ "&r_=" + Math.random();

}else {

url = url+ "?r_=" + Math.random();

}

//alert(obj.width + "," + obj.height + "," + obj.top + "," + obj.left);

var w ;

if(!obj.width){

w = screen.width/2;

}else{

w = parseInt(obj.width);

}

var h ;

if(!obj.height){

h = 500;

}else{

h = parseInt(obj.height);

}

var t ;

if(!obj.top){

t = 50;

}else{

t = parseInt(obj.top);

}

var l;

if(!obj.left){

l = (screen.width - parseInt(w))/2;

}else{

l = parseInt(obj.left);

}

w = parseInt(w) + "px";

h = parseInt(h) + "px";

l = parseInt(l) + "px";

t = parseInt(t) + "px";

var paramStr = "";

paramStr += ("dialogHeight=" + h + ";");

paramStr += ("dialogWidth=" + w + ";");

if(obj.center != undefined && obj.center != null){

paramStr += "center=" + obj.center + ";"

}else{

paramStr += ("dialogTop=" + t + ";");

paramStr += ("dialogLeft=" + l + ";");

}

paramStr += "resizable=yes;scroll=yes";

//alert(paramStr);

var rv = window.showModalDialog(url,window,paramStr);

if (rv == undefined) {

rv = window.returnValue;

}

if(obj.cb){

return obj.cb.call(rv,rv);

}

return rv;

}

function openWin(u,w,h){

var obj = {

url : u,

width : w,

height : h

}

return dialog(obj);

}

function openWinWithCallBack(u,w,h,fun){

var obj = {

url : u,

width : w,

height : h,

cb : fun

}

return dialog(obj);

}

function openWindow(obj){

if(obj.url == undefined || obj.url == null){

throw new Error("please set obj.url");

}

var url = obj.url;

if(url.indexOf("?")!=-1){

url = url+ "&r_=" + Math.random();

}else {

url = url+ "?r_=" + Math.random();

}

//alert(obj.width + "," + obj.height + "," + obj.top + "," + obj.left);

var w ;

if(!obj.width){

w = screen.width/2;

}else{

w = parseInt(obj.width);

}

var h ;

if(!obj.height){

h = 500;

}else{

h = parseInt(obj.height);

}

var t ;

if(!obj.top){

t = 50;

}else{

t = parseInt(obj.top);

}

var l;

if(!obj.left){

l = (screen.width - parseInt(w))/2;

}else{

l = parseInt(obj.left);

}

w = parseInt(w);

h = parseInt(h);

l = parseInt(l);

t = parseInt(t);

//窗口句柄var name;

if(!obj.name){

name = "win_" + new Date().getTime();

}else{

name = obj.name;

}

//alert(name);

//是否可以改变窗口大小var resizable = obj.resizable || "no";

//是否有滚动条var scrollbars= obj.scrollbars || "yes";

//是否有状态栏var status = obj.status || "no";

//是否有菜单栏var menubar = obj.menubar || "no";

//是否有工具栏var toolbar = obj.toolbar || "no";

//是否有地址栏var locations = obj.locations || "yes";

return window.open (url,name,"height=" + h + ",width=" + w +  ",top=" + t + ",left=" + l + ",toolbar=" + toolbar + ",menubar=" + menubar + ",scrollbars=" + scrollbars + ", resizable=" + resizable + ",location=" + locations + ", status=" + status + ",hotkeys=esc");

}

//模态窗口打开模式的子页面获取父页面对象function getParent(){

var p = "";

if (window.opener != undefined) {

p = window.opener;

}

else {

p = window.dialogArguments;

};

return p;

}

//模态窗口打开模式的子页面设置returnValuefunction setReturnValue(v){

if (window.opener != undefined) {

window.opener.returnValue = v;

}

else {

window.returnValue = v;

};

}

//滑动门function ScrollDoor(){

this.value = 0;

}

ScrollDoor.prototype = {

onlyMenu : function(menus,openClass,closeClass){ // only menu no have content

var _this = this;

for(var i = 0 ; i < menus.length ; i++)

{

_this.$(menus[i]).flag = ++this.value;

_this.$(menus[i]).value = i;

_this.$(menus[i]).onclick = function(){

for(var j = 0 ; j < menus.length ; j++)

{

_this.$(menus[j]).className = closeClass;

//_this.$(divs[j]).style.display = "none";

}

_this.$(menus[this.value]).className = openClass;

//_this.$(divs[this.value]).style.display = "block";

}

}

},

sd : function(menus,divs,openClass,closeClass){// two class

var _this = this;

if(menus.length != divs.length)

{

alert("菜单层数量和内容层数量不一样!");

return false;

}

for(var i = 0 ; i < menus.length ; i++)

{

_this.$(menus[i]).flag = ++this.value;

_this.$(menus[i]).value = i;

_this.$(menus[i]).onclick = function(){

for(var j = 0 ; j < menus.length ; j++)

{

_this.$(menus[j]).className = closeClass;

_this.$(divs[j]).style.display = "none";

}

_this.$(menus[this.value]).className = openClass;

_this.$(divs[this.value]).style.display = "block";

}

}

},

sd3class : function(menus,divs,openClass,closeClass,middleClass){ //three class

var _this = this;

for(var x = 0 ; x < menus.length ; x++)

{

_this.$(menus[x]).state = _this.$(menus[x]).className == openClass ?  "open" : "close";

}

if(menus.length != divs.length)

{

alert("菜单层数量和内容层数量不一样!");

return false;

}

for(var i = 0 ; i < menus.length ; i++)

{

_this.$(menus[i]).flag = ++this.value;

_this.$(menus[i]).value = i;

_this.$(menus[i]).onclick = function(){

for(var j = 0 ; j < menus.length ; j++)

{

_this.$(menus[j]).className = closeClass;

_this.$(divs[j]).style.display = "none";

_this.$(menus[j]).state = "close";

}

this.state = "open";

_this.$(menus[this.value]).className = openClass;

_this.$(divs[this.value]).style.display = "block";

}

_this.$(menus[i]).onmouseover = function(){

//alert(this.state);

for(var j = 0 ; j < menus.length ; j++)

{

if(_this.$(menus[j]).state != "open")

{

_this.$(menus[j]).className = closeClass;

_this.$(menus[j]).state = "close";

}

}

if(this.state == "open")

{

}

else

{

this.className = middleClass;

}

}

_this.$(menus[i]).onmouseout = function(){

if(this.state != "open")

{

this.className = closeClass;

}

}

}

},

$ : function(oid){

if(typeof(oid) == "string")

return document.getElementById(oid);

return oid;

}

}

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值