您好,欢迎访问一九零五行业门户网

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

复制代码 代码如下:
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;
    }
}
复制代码 代码如下:
testblog
其它类似信息

推荐信息