87281248 2012-07-05
functiontipsWindown(title,content,width,height,drag,time,showbg,cssName){
$("#windown-box").remove();//请除内容
varwidth=width>=950?this.width=950:this.width=width;//设置最大窗口宽度
varheight=height>=527?this.height=527:this.height=height;//设置最大窗口高度
if(showWindown==true){
varsimpleWindown_html=newString;
simpleWindown_html="";
simpleWindown_html+="";
simpleWindown_html+="关闭";
simpleWindown_html+="";
simpleWindown_html+="";
$("body").append(simpleWindown_html);
show=false;
}
contentType=content.substring(0,content.indexOf(":"));
content=content.substring(content.indexOf(":")+1,content.length);
switch(contentType){
case"text":
$("#windown-content").html(content);
break;
case"id":
$("#windown-content").html($("#"+content+"").html());
break;
case"img":
$("#windown-content").ajaxStart(function(){
$(this).html("");
});
$.ajax({
error:function(){
$("#windown-content").html("加载数据出错...");
},
success:function(html){
$("#windown-content").html("");
}
});
break;
case"url":
varcontent_array=content.split("?");
$("#windown-content").ajaxStart(function(){
$(this).html("");
});
$.ajax({
type:content_array[0],
url:content_array[1],
data:content_array[2],
error:function(){
$("#windown-content").html("加载数据出错...");
},
success:function(html){
$("#windown-content").html(html);
}
});
break;
case"iframe":
$("#windown-content").ajaxStart(function(){
$(this).html("");
});
$.ajax({
error:function(){
$("#windown-content").html("加载数据出错...");
},
success:function(html){
$("#windown-content").html("");
}
});
}
$("#windown-titleh2").html(title);
if(showbg=="true"){$("#windownbg").show();}else{$("#windownbg").remove();};
$("#windownbg").animate({opacity:"0.5"},"normal");//设置透明度
$("#windown-box").show();
if(height>=527){
$("#windown-title").css({width:(parseInt(width)+22)+"px"});
$("#windown-content").css({width:(parseInt(width)+17)+"px",height:height+"px"});
}else{
$("#windown-title").css({width:(parseInt(width)+10)+"px"});
$("#windown-content").css({width:width+"px",height:height+"px"});
}
varcw=document.documentElement.clientWidth,ch=document.documentElement.clientHeight,est=document.documentElement.scrollTop;
var_version=$.browser.version;
if(_version==6.0){
$("#windown-box").css({left:"50%",top:(parseInt((ch)/2)+est)+"px",marginTop:-((parseInt(height)+53)/2)+"px",marginLeft:-((parseInt(width)+32)/2)+"px",zIndex:"999999"});
}else{
$("#windown-box").css({left:"50%",top:"50%",marginTop:-((parseInt(height)+53)/2)+"px",marginLeft:-((parseInt(width)+32)/2)+"px",zIndex:"999999"});
};
varDrag_ID=document.getElementById("windown-box"),DragHead=document.getElementById("windown-title");
varmoveX=0,moveY=0,moveTop,moveLeft=0,moveable=false;
if(_version==6.0){
moveTop=est;
}else{
moveTop=0;
}
varsw=Drag_ID.scrollWidth,sh=Drag_ID.scrollHeight;
DragHead.onmouseover=function(e){
if(drag=="true"){DragHead.style.cursor="move";}else{DragHead.style.cursor="default";}
};
DragHead.onmousedown=function(e){
if(drag=="true"){moveable=true;}else{moveable=false;}
e=window.event?window.event:e;
varol=Drag_ID.offsetLeft,ot=Drag_ID.offsetTop-moveTop;
moveX=e.clientX-ol;
moveY=e.clientY-ot;
document.onmousemove=function(e){
if(moveable){
e=window.event?window.event:e;
varx=e.clientX-moveX;
vary=e.clientY-moveY;
if(x>0&&(x+sw0&&(y+sh<ch)){
Drag_ID.style.left=x+"px";
Drag_ID.style.top=parseInt(y+moveTop)+"px";
Drag_ID.style.margin="auto";
}
}
}
document.onmouseup=function(){moveable=false;};
Drag_ID.onselectstart=function(e){returnfalse;}
}
$("#windown-content").attr("class","windown-"+cssName);
varcloseWindown=function(){
$("#windownbg").remove();
$("#windown-box").fadeOut("slow",function(){$(this).remove();});
}
if(time==""||typeof(time)=="undefined"){
$("#windown-close").click(function(){
return;//Eman封锁了此关闭事件。
$("#windownbg").remove();
$("#windown-box").fadeOut("slow",function(){$(this).remove();});
});
}else{
setTimeout(closeWindown,time);
}
}
-----------------------tipswindown.js---///////////////////////
因为先前遇到的问题,所以我考虑采用IFRAME来隔离不同的脚本,从而实现我需要的效果。
在框架中,我用JavaScript获取JSON数据,组织成HTML代码,最后将其填充至上层文档的一个元素中。按照一般的写法,我们需要用到类似如下的语句:使用jQuery,写法如下:即指明了是在window.parent.document中查找id=myEle的元素。
随着前面的问题的解决(其实是对jQuery的了解不够),现在两种方案都可以实现我需要的效果了。
另外还有一种实现方式,代码如下:这种方法要求父文档也要调用jQuery。
演示:使用jQuery实现window.parent.document.getElementById().innerHTML
个人感觉jquery就是强啦!!!