JS实现网页换肤

概述:

通过点击按钮,为页面切换不同的背景色;

原理:

通过给link的href设置不同的值实现,皮肤的更换;

Code

JS

/*

* 点击按钮切换页面的皮肤

* @param obj 按钮组

* @param aSkin 皮肤组合

* @param oSkin 设置皮肤的link标签

*/

functionchangeSkin(obj,aSkin,oSkin) {

for(var i =0;i < obj.length;i++) {

obj[i].index= i;

obj[i].onclick=function() {

var_this =this;

for(var j in aSkin) {

obj[j].className='';

}

_this.classList.add('active');

oSkin.setAttribute('href',aSkin[_this.index]);

};

}

}

案例

HTML

<link rel="stylesheet" href="../CSS/skin1.css" id="skin1">

<div class="list">

<a href="javascript:;"></a>

<a href="javascript:;"></a>

<a href="javascript:;"></a>

<a href="javascript:;"></a>

</div>

CSS

body,div{padding:0;margin:0;}

.list{width:300px;margin:30px auto;}

.list a{position:relative;display:inline-block;list-style:none outside none;text-decoration:none;width:20px;height:20px;margin-right:10px;}

a:nth-child(1) {background:palevioletred;}

a:nth-child(2) {background-color:lightblue;}

a:nth-child(3) {background-color:bisque;}

a:nth-child(4) {background-color:brown;}

.list a.active:before{content:'';position:absolute;top:4px;left:4px;width:12px;height:12px;background-color:#fff;z-index:10;}

JS

window.onload=function() {

var oSkin =document.getElementById('skin');

var aLink =document.getElementsByTagName('a');

var skin = ['../CSS/skin1.css','../CSS/skin2.css','../CSS/skin3.css','../CSS/skin4.css'];

changeSkin(aLink,skin,oSkin);

};

效果


网页换肤案例效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 6,062评论 0 2
  • 我不喜欢下雨天,可我所在的城市却偏偏细雨绵绵。我多希望明天可以看到晴空万里。那样我应该就不会像现在这样压抑 这样的...
    我就是大表哥阅读 4,773评论 0 1
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,419评论 2 17
  • 当今做父母的大都知道溺爱孩子有害,但却分不清什么是溺爱,更不了解自己家里有没有溺爱。我记得溺爱是在我初中的时...
    阿宝的育儿宝典阅读 5,129评论 2 2
  • 小鸟总是很神秘婉转的叫声掠过的身影总是远远的 小鸟在想什么呢身上的羽毛摸起来又是什么感觉 我不知道小鸟一天要飞多远...
    葺宝阅读 2,790评论 0 2

友情链接更多精彩内容