当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用js实现的仿sohu博客更换页面风格(简单版)

Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
(转载)JavaScript中匿名函数,函数直接量和闭包
简单的无缝滚动程序-仅几行代码
Javascript中的数学函数集合
javascript之大字符串的连接的StringBuffer 类
javascript之对系统的toFixed()方法的修正
用javascript实现自定义标签
js在客户端验证密码强度,兼容FireFox和IE
javascript背景颜色按时变换
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%
javascript语句中的CDATA标签的意义
用javascript实现分割提取页面所需内容
网上抓的一个特效
js之点击 超连接,提示一个层.点击空白.层消失
模拟用户操作Input元素,不会触发相应事件
弹出广告特效代码(一个IP只弹出一次)
(仅IE下有效)关于checkbox 三态
JavaScript Archive Network 集合
关于__defineGetter__ 和__defineSetter__的说明
textContent在Firefox下与innerText等效的属性

Javascript 中的 用js实现的仿sohu博客更换页面风格(简单版)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 365 ::
收藏到网摘: n/a

复制代码 代码如下:

prowin.js
/**
* @author ldgmc
*/
function PopWin(id,width,title){
this.id=id;
this.width=width;
this.title=title;
this.createIns=function(){
var ins=document.createElement("div");
ins.className="popWin";
ins.id=this.id;
ins.style.width=this.width+'px';
return ins;
};
this.items=new Array();
this.instance=this.createIns();
this.init=function(){
this.addTitle(this.title);
document.body.appendChild(this.instance);
}
this.addTitle=function(title){
var titleDiv=document.createElement("div");
titleDiv.className="title";
var titleText=document.createTextNode(title);
titleDiv.appendChild(titleText);
this.instance.appendChild(titleDiv);
}
this.addItem=function(id,title){
this.items[id]={};
this.items[id]["title"]=ldg.common.setClassName("div","itemTitle");
this.items[id]["title"].appendChild(document.createTextNode(title));
this.items[id]["content"]=ldg.common.setClassName("div","itemContent");
this.items[id]["title"].id=id;
ldg.event.addEvent(this.items[id]["title"],"mouseover",this.mouseover.bindAsEventListener(this))
ldg.event.addEvent(this.items[id]["title"],"mouseout",this.mouseout.bindAsEventListener(this));
ldg.event.addEvent(this.items[id]["title"],"click",this.click.bindAsEventListener(this));
this.instance.appendChild(this.items[id]["title"]);
this.instance.appendChild(this.items[id]["content"]);
}
this.addItemContent=function(parentId,imgUri,cssUri,isLast){
var itemDiv=ldg.common.setClassName("div","item");
var itema=document.createElement("a");
itema.href="#";
var itemImg=document.createElement("img");
itemImg.src=imgUri;
itemImg.css=cssUri;
ldg.event.addEvent(itemImg,"click",this.changeLink.bindAsEventListener(this));
itema.appendChild(itemImg);
itemDiv.appendChild(itema);
this.items[parentId]["content"].appendChild(itemDiv);
if(isLast){
this.items[parentId]["content"].appendChild(document.createElement("br"));
}
}
this.changeLink=function(e){
var eObj=e.srcElement || e.target;
var link=document.getElementsByTagName("link");
link[1].href=eObj.css;
}
this.mouseover=function(e){
var eObj=e.srcElement || e.target;
eObj.style.backgroundColor="#e5e5e5";
}
this.mouseout=function(e){
var eObj=e.srcElement || e.target;
eObj.style.backgroundColor="#EEEEEE";
}
this.click=function(e){
var eObj=e.srcElement || e.target;
var item=this.items[eObj.id]["content"];
item.style.display=="block"?item.style.display="none":item.style.display="block";
}
this.init();

复制代码 代码如下:

ldg.js
var ldg=window.ldg || {}
Array.prototype.append=function(item){
this[this.length]=item
}
Function.prototype.bindAsEventListener=function(obj){
var _method=this;
return function(event){
return _method.call(obj,event || window.event);
}
}
ldg.event={
addEvent:function(obj,evType,fun){
if(obj.addEventListener){
obj.addEventListener(evType,fun,false);
return true;
}else if(obj.attachEvent){
obj.attachEvent("on"+evType,fun);
return true;
}else{return false}
}
}
ldg.common={
$:function(id){
return document.getElementById(id);
},
setClassName:function(eleType,className){
var element=document.createElement(eleType)
element.className=className;
return element;
}
}

复制代码 代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>testBlog</title>
<link rel=stylesheet type=text/css href="css/window.css">
<link rel=stylesheet type=text/css href="css/bg.css">
<script src="js/prpwin.js"></script>
<script src="js/ldg.js"></script>
<script>
window.onload=function(){
var pop=new PopWin(1,440,"标题");
pop.addItem(1,"默认主题");
pop.addItem(2,"2222");
pop.addItem(3,"3333");
pop.addItem(4,"4444");
pop.addItemContent(1,"images/1.gif","css/bg2.css");
pop.addItemContent(1,"images/2.gif","css/bg3.css");
pop.addItemContent(1,"images/3.gif","css/bg4.css");
pop.addItemContent(1,"images/4.gif","css/bg5.css");
pop.addItemContent(1,"images/5.gif","css/bg6.css");
pop.addItemContent(1,"images/1.gif","css/bg7.css");
pop.addItemContent(1,"images/2.gif","css/bg8.css");
pop.addItemContent(1,"images/3.gif","css/bg9.css");
pop.addItemContent(1,"images/4.gif","css/bg0.css");
pop.addItemContent(1,"images/5.gif","css/bg4.css");
pop.addItemContent(1,"images/6.gif","css/bg2.css",true);
pop.addItemContent(2,"images/7.gif","css/bg8.css");
pop.addItemContent(2,"images/8.gif","css/bg6.css");
pop.addItemContent(2,"images/9.gif","css/bg3.css");
pop.addItemContent(2,"images/10.gif","css/bg2.css");
pop.addItemContent(2,"images/11.gif","css/bg6.css");
pop.addItemContent(2,"images/12.gif","css/bg4.css",true);
pop.addItemContent(3,"images/13.gif","css/bg9.css");
pop.addItemContent(3,"images/14.gif","css/bg1.css");
pop.addItemContent(3,"images/15.gif","css/bg7.css",true);
pop.addItemContent(4,"images/4.gif","css/bg9.css");
pop.addItemContent(4,"images/5.gif","css/bg3.css");
pop.addItemContent(4,"images/1.gif","css/bg5.css");
pop.addItemContent(4,"images/2.gif","css/bg2.css");
pop.addItemContent(4,"images/3.gif","css/bg3.css");
pop.addItemContent(4,"images/4.gif","css/bg0.css");
pop.addItemContent(4,"images/5.gif","css/bg7.css");
pop.addItemContent(4,"images/1.gif","css/bg4.css");
pop.addItemContent(4,"images/2.gif","css/bg3.css");
pop.addItemContent(4,"images/4.gif","css/bg7.css");
pop.addItemContent(4,"images/5.gif","css/bg1.css");
pop.addItemContent(4,"images/4.gif","css/bg1.css",true);
}
</script>
</head>
<body>
</body>
</html>