网站换肤


效果图

可选框是一张背景图片,通过定位显示不同颜色和对号

1、js
var color =[ "#9e9e9e" , '#b2d600' , '#f8b646' , '#08bece' , '#e3165c' , '#bb3bd9' ];
//把颜色按顺序存在数组里
$ ( '#skin-ul li ' ). on ( 'click' , function () { //点击li时 给当前li添加class(‘’active‘’) 兄弟移除class
//通过定位背景图片改变可选框颜色
$ ( this ). addClass ( 'active' ). siblings (). removeClass ( 'active' );
$ ( "#color" ). css ( 'background' , color [ $ ( this ). index ()]); //颜色为当前索引在颜色数组中的颜色
setCookie ( 'skin' , $ ( this ). index (), 7 ); //setCookie 存的是索引值
}). eq ( getCookie ( 'skin' )). trigger ( 'click' ); //取的是索引值 触发当前值的点击事件

2、cookie
function removeCookie (key) {
setCookie (key, '' ,) //移除cookie value==“”
}
function getCookie (key) { //取cookie函数
var aCookie = document . cookie ; //获取cookie
var arr = aCookie . split ( '; ' ); //根据分号加空格(就是有空格)分割取到的cookie 存在arr数组
for ( i = 0 ; i < arr . length ; i ++) { // 再循环分割数组中每个
var arr1 = arr [ i ]. split ( '=' ); //根据等号分割 存到数组arr1中
if ( arr1 [ 0 ] == key) { //如果第一个值等于传进来的参数 该数组中第二个值就为cookie的值
return arr1 [ 1 ];
}
}
}
function setCookie (key, val, day) { //设置cookie
var str = key + "=" + val + '; ' ; //模仿cookie组成
if (day) {
var d = new Date(); //新建日期对象
d . setDate ( d . getDate () + day); //设置过期日期=获取当前日期+day(缓存时间)
str += "expires=" + d ; //拼接字符串
}
document . cookie = str ; //存cookie
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        #skin-ul li{
            list-style: none;
            float: left;
            background: url('images/theme.gif');
            width: 15px;
            height: 15px;
            margin: 7px;
        }
        #skin{
            width: 200px;
            height: 30px;
            line-height: 40px;
            text-align: center;
            background: red;
        }
        #skin-ul li:nth-child(1){
            background-position: 0 0;
        }
        #skin-ul li:nth-child(1).active{
            background-position: 0 -15px;
        }
        #skin-ul li:nth-child(2){
            background-position: -20px 0;
        }
        #skin-ul li:nth-child(2).active{
            background-position: -20px -15px;
        }
        #skin-ul li:nth-child(3){
            background-position: -40px 0;
        }
        #skin-ul li:nth-child(3).active{
            background-position: -40px -15px;
        }
        #skin-ul li:nth-child(4){
            background-position: -60px 0;
        }
        #skin-ul li:nth-child(4).active{
            background-position: -60px -15px;
        }
        #skin-ul li:nth-child(5){
            background-position: -80px 0;
        }
        #skin-ul li:nth-child(5).active{
            background-position: -80px -15px;
        }
        #skin-ul li:nth-child(6){
            background-position: -100px 0;
        }
        #skin-ul li:nth-child(6).active{
            background-position: -100px -15px;
        }
        #color{
            width: 150px;
            height: 40px;
            margin: 5px;
            line-height: 40px;
            text-align: center;
            background: #9e9e9e;
        }
    </style>

</head>
<body>
<div id="skin">
    <ul id="skin-ul">
        <li class="active"></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>
<div id="color">
    你好啊 李银河
</div>
<script src="cookie.js"></script>
<script src="jquery-2.1.0.min.js"></script>
<script>

    var color=["#9e9e9e",'#b2d600','#f8b646','#08bece','#e3165c','#bb3bd9'];
$('#skin-ul li').on('click',function () {
    $(this).addClass('active').siblings().removeClass('active');
    $("#color").css('background',color[$(this).index()]);
    setCookie('skin',$(this).index(),7);
}).eq(getCookie('skin')).trigger('click');
    //    $('.news').attr('class','news skin'+$(this).index());

</script>
</body>
</html>
cookie.js
function removeCookie(key) {
    setCookie(key,'',)
}
function getCookie(key) {
    var aCookie = document.cookie;
    var arr = aCookie.split('; ');
    for (i = 0; i < arr.length; i++) {//再分割数组中每个
        var arr1 = arr[i].split('=');
        if (arr1[0] == key) {
            return arr1[1];
        }
    }
}
function setCookie(key, val, day) {
    var str = key + "=" + val + ';';
    if (day) {
        var d = new Date();
        d.setDate(d.getDate() + day);
        str += "expires=" + d;
    }
    document.cookie = str;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值