哈哈主js文件
jquery.indoc.js
/ *
程序:hahaman
时间:2008-9-10
版本:1.0
Blog:http://blog.sina.com.cn/hahaman
* /
jQuery(function($) {
$.fn.indoc = function() {
if (!this) return false;
return this.each(function(){
$(this).click(function(e) {
var el= e.srcElement;
var url;
if(el.href)
url=el.href;
if(el.src)
url=el.src;
sAlert(url,el);
return false;
});
});
};
$(".indoc").indoc();
function sAlert(url,obj){
var eSrc=obj;
var shield = document.createElement("DIV");
shield.id = "shield";
shield.style.position = "absolute";
shield.style.left = "0px";
shield.style.top = "0px";
shield.style.width = "100%";
shield.style.height = ((document.documentElement.clientHeight>document.documentElement.scrollHeight)?document.documentElement.clientHeight:document.documentElement.scrollHeight)+"px";
shield.style.background = "#333";
shield.style.textAlign = "center";
shield.style.zIndex = "10000";
shield.style.filter = "alpha(opacity=0)";
shield.style.opacity = 0;
var alertFram = document.createElement("DIV");
alertFram.id="alertFram";
alertFram.style.position = "absolute";
alertFram.style.width = "600px";
if(eSrc.width)
alertFram.style.width = eSrc.width+"px";
alertFram.style.height = "400px";
if(eSrc.height)
alertFram.style.height = eSrc.height+"px";
alertFram.style.marginTop="-"+(alertFram.style.height.replace("px","")/2);
alertFram.style.marginLeft="-"+(alertFram.style.width.replace("px","")/2);
alertFram.style.background = "#ccc";
alertFram.style.textAlign = "center";
alertFram.style.lineHeight = "150px";
alertFram.style.zIndex = "10001";
alertFram.style.top="50%";
alertFram.style.left="50%";
var scrolling="yes";
if(obj.nodeName=="IMG")
scrolling="no";
if(obj.scrolling)
scrolling=obj.scorlling;
strHtml="<div style='position:absolute;top:-20px;left:100%;width:20px;margin-left:0px'>\n";
strHtml+="<input id='do_OK' onclick=\"doOk()\" type='button' value='ok'></div>\n";
strHtml+="<iframe src='"+url+"' width=100% height=100% frameborder=0 scrolling="+scrolling+"></iframe>";
alertFram.innerHTML = strHtml;
document.body.appendChild(alertFram);
document.body.appendChild(shield);
this.setOpacity = function(obj,opacity){
if(opacity>=1)opacity=opacity/100;
try{ obj.style.opacity=opacity; }catch(e){}
try{
if(obj.filters.length>0&&obj.filters("alpha")){
obj.filters("alpha").opacity=opacity*100;
}else{
obj.style.filter="alpha(opacity=\""+(opacity*100)+"\")";
}
}catch(e){}
};
var c = 0;
this.doAlpha = function(){
if (++c > 20){clearInterval(ad);return 0;}
setOpacity(shield,c);
}
var ad = setInterval("doAlpha()",1);
this.doOk = function(){
document.body.removeChild(alertFram);
document.body.removeChild(shield);
eSrc.focus();
document.body.onselectstart = function(){return true;}
document.body.oncontextmenu = function(){return true;}
}
document.getElementByIdx("do_OK").focus();
eSrc.blur();
document.body.onselectstart = function(){return false;}
document.body.oncontextmenu = function(){return false;}
};
});
测试页面:
haha.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0029)http://nyromodal.nyrodev.com/ -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><META http-equiv="Content-Type" content="text/html; charset=GBK">
<TITLE>indoc:: jQuery Plugin</TITLE>
<SCRIPT type="text/javascript" src="./js/jquery-1.2.6.pack.js"></SCRIPT>
<SCRIPT type="text/javascript" src="./js/jquery.indoc.js"></SCRIPT>
</HEAD><BODY>
<A href="http://nyromodal.nyrodev.com/demoSent.php" class="nyroModal" width="1000" height="600">Ajax</A><BR>
<A href="http://www.baidu.com" class="indoc" rev="modal" width="800" height="600" scrolling="no">Ajax</A><BR>
<A href="http://nyromodal.nyrodev.com/demoSent.php" class="indoc">Ajax</A><BR>
<img src='http://www.baidu.com/img/baidu_logo.gif' class="indoc"><br>
<br>
<br><br><br><br><br><br>
<select></select>
</BODY></HTML>
使用说明:
<a href=url width=100 height=300 scorlling=no>haha</a>
打开的Iframe width1=100 height=300 scrolling=no
程序非常简单,目前只是简单实现
上张图大家看一下