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

 更新时间:2007年03月22日 00:00:00   作者:  
复制代码 代码如下:

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>

相关文章

  • js获取多个tagname的节点数组

    js获取多个tagname的节点数组

    写了个获取多个tagname节点集合的小方法。类似于jQuery的$(‘iput,select,textarea’,'#form’)的效果,返回是按节点在原有文档流中的顺序返回的
    2013-09-09
  • JavaScript数组迭代器实例分析

    JavaScript数组迭代器实例分析

    这篇文章主要介绍了JavaScript数组迭代器的用法,涉及javascript数组操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • echarts动态渲染柱状图背景颜色及顶部数值方法详解

    echarts动态渲染柱状图背景颜色及顶部数值方法详解

    在使用echarts时,有时需要给柱状图设置背景,下面这篇文章主要给大家介绍了关于echarts动态渲染柱状图背景颜色及顶部数值的相关资料,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • JS组件Form表单验证神器BootstrapValidator

    JS组件Form表单验证神器BootstrapValidator

    做Web开发的我们,表单验证是再常见不过的需求了。友好的错误提示能增加用户体验。今天就来看看bootstrapvalidator如何使用,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 使用webpack打包ts代码的实现

    使用webpack打包ts代码的实现

    本文主要介绍了使用webpack打包ts代码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • JavaScript在图片绘制文字两种方法的实现与对比

    JavaScript在图片绘制文字两种方法的实现与对比

    这篇文章主要为大家详细介绍了前端实现在图片上绘制文字的两种思路,支持即粘即贴即用,文中的示例代码讲解详细,需要的小伙伴可以了解下
    2024-03-03
  • 查找Oracle高消耗语句的方法

    查找Oracle高消耗语句的方法

    这篇文章主要介绍了查找Oracle高消耗语句的方法,需要的朋友可以参考下
    2014-03-03
  • uni-app如何实现增量更新功能

    uni-app如何实现增量更新功能

    这篇文章主要介绍了uni-app如何实现增量更新功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • js数组中去除重复值的几种方法

    js数组中去除重复值的几种方法

    这篇文章主要介绍了js数组中去除重复值的几种方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码

    jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码

    这篇文章主要介绍了jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码,通过jQuery相应鼠标事件控制页面元素的动态变换功能,非常具有实用价值,需要的朋友可以参考下
    2015-09-09

最新评论