zoukankan      html  css  js  c++  java
  • Javascript+css 实现网页换肤功能

    现在网站换皮肤是比较常见的功能,大多数论坛都有的,要想实现这样效果可以看如下代码:Html代码部分:

    1.要有一个带id的样式表链接,我们要通过操作这个链接来调用不同的href.

    <link href="css/main0.css" rel="stylesheet" type="text/css" id="cssfile" />

    2.皮肤选择按钮(后台为每个li添加onclick事件,触发换肤功能)

    <ul id="skin">
    <li id="skin_0" title="灰色">灰色</li>
    <li id="skin_1" title="绿色">绿色</li>
    <li id="skin_2" title="黄色">黄色</li>
    <li id="skin_3" title="蓝色">蓝色</li>
    <li id="skin_4" title="粉色">粉色</li>
    <li id="skin_5" title="紫色">紫色</li>
    </ul>

    Js部分:

    1.换肤方法

    //设置cookie,按钮选中状态,页面皮肤
    skin.setSkin=function(n){
    var skins =("skin").getElementsByTagName("li");
    for (i=0;i<skins.length;i++)
    {
    skins[i].className="";//初始化按钮状态
    }
    skin.setCookie(n);//保存当前样式
    ("skin_"+n).className="selected";//设置选中皮肤按钮的样式
    ("cssfile").href="css/main"+n+".css";//设置页面样式
    }

    2.存取cookie

    //将当前皮肤n存到cookie
    skin.setCookie=function(n){
    var expires=new Date();
    expires.setTime(expires.getTime()+24*60*60*365*1000);
    var flag="Skin_Cookie="+n;
    document.cookie=flag+";expires="+expires.toGMTString();
    }
    //返回用户设置的皮肤样式
    skin.readCookie=function(){
    var skin=0;
    var mycookie=document.cookie;
    var name="Skin_Cookie";
    var start1=mycookie.indexOf(name+"=");
    if(start1==-1){
    skin=0;//如果没有设置则显示默认样式
    }
    else{
    var start=mycookie.indexOf("=",start1)+1;
    var end=mycookie.indexOf(";",start);
    if(end=-1){
    end=mycookie.length;
    }
    var values= unescape(mycookie.substring(start,end));
    if (values!=null)
    {
    skin=values;
    }
    }
    return skin;

    }

    3.绑定换肤按钮事件

    skin.addEvent=function(){
    var skins =("skin").getElementsByTagName("li");
    for (i=0;i<skins.length;i++)
    {
    skins[i].onclick=function(){skin.setSkin(this.id.substring(5))};
    }
    }

    4.页面加载完成后设置皮肤样式

    window.onload=function(){
    skin.setSkin(skin.readCookie());//根据读取cookie返回值设置皮肤样式
    skin.addEvent();//绑定按钮事件

  • 相关阅读:
    hdu 4027 Can you answer these queries?
    hdu 4041 Eliminate Witches!
    hdu 4036 Rolling Hongshu
    pku 2828 Buy Tickets
    hdu 4016 Magic Bitwise And Operation
    pku2886 Who Gets the Most Candies?(线段树+反素数打表)
    hdu 4039 The Social Network
    hdu 4023 Game
    苹果官方指南:Cocoa框架(2)(非原创)
    cocos2d 中 CCNode and CCAction
  • 原文地址:https://www.cnblogs.com/top5/p/1593981.html
Copyright © 2011-2022 走看看