手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
摘要:复制代码代码如下://打开模态窗口functiondialog(obj){if(obj.url==undefined||obj.url==n...

复制代码 代码如下:

//打开模态窗口

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;

}

//模态窗口打开模式的子页面设置returnValue

function 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;

}

}

【解析js中获得父窗口链接getParent方法以及各种打开窗口的方法】相关文章:

JavaScript获取当前运行脚本文件所在目录的方法

js实现字符串转日期格式的方法

js获取滚动距离的方法

jQuery判断指定id的对象是否存在的方法

js+html5实现canvas绘制镂空字体文本的方法

三种AngularJS中获取数据源的方式

JS或jQuery获取ASP.NET服务器控件ID的方法

js验证上传图片的方法

jQuery实现限制textarea文本框输入字符数量的方法

js兼容火狐获取图片宽和高的方法

精品推荐
分类导航