前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一键换肤的简单实现

一键换肤的简单实现

作者头像
lonelydawn
发布2018-02-09 11:58:59
1.1K0
发布2018-02-09 11:58:59
举报

以前看到一键换肤的效果很炫酷,其实想一想,实现很简单,于是乎也写一个吧。

上代码:

oneBtnChangeSkin.html ( 引入bootstrap.min.css 和 jquery.js )

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <meta http-equiv="cache-control" content="no-cache"/>
    <title>one button to change skin</title>
    <link rel="stylesheet" href="dist/bootstrap/css/bootstrap.min.css">
</head>
<body>
<header id="header" class="row navbar-fixed-top" style="border-bottom:1px solid #eee;">
    <div class="col-md-1"></div>
    <div class="navbar-brand">One Piece</div>
    <div class="text-center col-md-9">
        <div class="col-md-4"></div>
        <div class="col-md-4" style="margin-top:10px;">
            <input type="text" class="form-control col-md-12" placeholder="search..." style="padding-right:34px;"/>
            <span class="glyphicon glyphicon-search" style="position: absolute;right:25px;top:10px;"></span>
        </div>
        <ul class="nav navbar-nav navbar-right">
            <li>
                <a href="##" title="Click to change skin" onclick="listShow();" onmouseleave="listHide();">
                    Skin&nbsp;<span class="glyphicon glyphicon-triangle-bottom"></span>
                    <div id="SkinList" class="row" style="display:none;position:absolute;width:360px;height:400px;overflow:auto;margin-top:16px;">
                        
                    </div>
                </a>
            </li>
            <li><a href="##">Home</a></li>
            <li><a href="##">About</a></li>
            <li><a href="##">Contact</a></li>
        </ul>
    </div>
</header>
<div class="row" style="margin-top:50px;height:540px;">
    <div id="left-box" class="col-md-3" style="height:540px;"></div>
    <div id="right-box" class="col-md-9" style="height:540px;"></div>
</div>
<script src="dist/jquery/jquery-3.1.1.min.js"></script>
<script src="javascript/oneBtnChangeSkin.js"></script>
</body>
</html>

oneBtnChangeSkin.js

代码语言:javascript
复制
/**
 * Created by lonely.dawn on 2017-02-06.
 * 一键换肤的简单实现
 */

//模拟后台返回的数据 , 记录各个需要切换样式的点 (这里是简单实现 , 只给出三个 经典ERP布局模块点的变换)
var skins= [{
        top:'resources/images/gray-top.jpg',
        left:'resources/images/gray-left.jpg',
        right:'resources/images/gray-right.jpg',
        thumbnail:'resources/images/gray-thumbnail.jpg',
        title:'经典雅致灰',
        des:'灰色穿插于黑白之间,代表着幽暗、典雅、寂寞与空灵。'
    }, {
        top:'resources/images/blue-top.jpg',
        left:'resources/images/blue-left.jpg',
        right:'resources/images/blue-right.jpg',
        thumbnail:'resources/images/blue-thumbnail.jpg',
        title:'宁静幽雅蓝',
        des:'蓝是一种纯净的颜色,代表着宁静、理智、淡泊、广阔与忧郁。'
    }];

//页面加载完毕,为skin list添加项
$(function(){
    for(var i=0;i<skins.length;i++) {
        $("#SkinList").append(
            "<div class='media' onclick='skinToggle("+i+")'>" +
            "<a href='#' class='pull-left'>" +
            "<img src='" + skins[i].thumbnail + "' title='Toggle to change skin.'/>" +
            "</a>" +
            "<div class='media-body'>" +
            "<h3 class='media-heading'>" + skins[i].title + "</h3>" +
            "<p class='text-left'>" + skins[i].des + "</p>" +
            "</div>" +
            "</div>"+
            "<hr/>"
        );
    }
    //默认使用下标为0的皮肤
    skinToggle(0);
});

//skin list 下拉框显示控制
var listShow=function(){
    $("#SkinList").css("display","block");
};

var listHide=function(){
    $("#SkinList").css("display","none");
};

//皮肤切换控制
var skinToggle=function(index){
    var item=skins[index];
    console.log(index);
    $("#header").css("background","url("+item.top+")");
    $("#header").css("background-size","cover");

    $("#left-box").css("background","url("+item.left+")");
    $("#left-box").css("background-size","cover");

    $("#right-box").css("background","url("+item.right+")");
    $("#right-box").css("background-size","contain");
};

很简单的代码,然后来体验一下这酷炫的感觉

在线演示 (1月后 17-03-10 腾讯云服务器到期,不一定续)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档