原生JavaScript实现简易换肤效果代码
Admin 2021-04-14 群英技术资讯 1763 次浏览
用原生JavaScript如何实现换肤效果?在前端开发中,换肤效果也是比较常遇到需求,例如一些导航网站就有网页换肤功能。而要实现js换肤的原理其实很简答,就是用JS切换到对应的CSS样式表文件就可以实现了。下面是用原生JS现实的简单换肤效果,供大家参考。
原理
通过点击事件,获取点击的的图片的信息,在HTML背景图片的路径改变
css样式
<style>
body{
margin:0;
padding:0;
background:url(img/1.jpg) no-repeat;
background-size:100% 100%;
}
#box{
width:100%;
height:130px;
background:#999999;
}
#box ul{
margin:0;
padding:0;
list-style:none;
}
#box ul li li,#box ul li img{
width:180px;
height:120px;
float:left;
margin:5px 60px;
}
</style>
HTML源码
<body id="Body"> <div id="box"> <ul> <li><img src="img/1.jpg" /></li> <li><img src="img/2.jpg" /></li> <li><img src="img/3.jpg" /></li> <li><img src="img/4.jpg" /></li> <li><img src="img/5.jpg" /></li> </ul> </div> </body>
JavaScript源码
<script>
var oBody=document.getElementById('Body');
var oImg=document.getElementsByTagName('img');
for(var i=0;i<oImg.length;i++)
{
var oImgA=oImg[i];
oImgA.index=i+1;
oImgA.onclick=function(){
//console.log(this);
oBody.style.background='url(img/'+this.index+'.jpg) no-repeat';
oBody.style.backgroundSize='100% 100%';
};
}
</script>
效果图

点击切换

源码
<!DOCTYPE>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>换肤</title>
<style>
body{
margin:0;
padding:0;
background:url(img/1.jpg) no-repeat;
background-size:100% 100%;
}
#box{
width:100%;
height:130px;
background:#999999;
}
#box ul{
margin:0;
padding:0;
list-style:none;
}
#box ul li li,#box ul li img{
width:180px;
height:120px;
float:left;
margin:5px 60px;
}
</style>
</head>
<body id="Body">
<div id="box">
<ul>
<li><img src="img/1.jpg" /></li>
<li><img src="img/2.jpg" /></li>
<li><img src="img/3.jpg" /></li>
<li><img src="img/4.jpg" /></li>
<li><img src="img/5.jpg" /></li>
</ul>
</div>
</body>
</html>
<script>
var oBody=document.getElementById('Body');
var oImg=document.getElementsByTagName('img');
for(var i=0;i<oImg.length;i++)
{
var oImgA=oImg[i];
oImgA.index=i+1;
oImgA.onclick=function(){
//console.log(this);
oBody.style.background='url(img/'+this.index+'.jpg) no-repeat';
oBody.style.backgroundSize='100% 100%';
};
}
</script>
以上就是用原生JS实现的简单换肤效果,有需要的朋友可以自己动手实现一下,希望本文对大家学习有所帮助,更多原生JS内容大家可以关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了JavaScript时间复杂度和空间复杂度,时间复杂度和空间复杂度是衡量一个算法是否优秀的标准,通常我们比较两个算法时会用预先估算和事后统计,下文详细介绍,需要的朋友可以参考一下
这篇文章我们来了解JS数组的深复制和浅复制的相关内容,很多新手不是很理解深复制和浅复制究竟是什么,因此本文就给大家来介绍一下,下文有很详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
本文主要给大家分享的是用vue如何实现3d标签云的内容,小编觉得比较有意思,下文有实现效果及代码供大家参考,感兴趣的朋友可以了解看看,接下来我们就一起学习一下吧。
这篇文章主要介绍了react antd表格中渲染一张或多张图片的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
目录前言什么是异常数据?接口异常拦截器中捕获异常前端异常为啥不用 window.onerror ?异常处理函数处理接口异常处理前端异常获取环境数据在 Vue 中在 React 中总结前言前两篇,我们介绍了为什么前端应该有监控系统,以及搭建前端监控的总体步骤,前端监控的 Why 和 What 想必你已经明白了。接下来我们
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008