学习了妙味课堂的图片切换(动画版)

这个小效果相对简单一点。
知识预备:
【1】background-position-x
background-position属性设置背景原图像(由 background-image 定义)的位置,意味着使用这个属性的前提是必须设置背景原图像background-image。
background-position有两个属性值, background-position:x | y,用法上可以对其一个属性单独使用 background-position-x 和 background-position-y。
准备工作完毕,开始写代码
第一步
由于这次需要的div很多,所以采用动态添加的方式,直接看代码
<style>
body{
margin: 0;
background-color: #5e5e5e;
}
#box{
width: 857px;
height: 574px;
padding-top: 126px;
padding-left:143px;
background: url(img/bg.png) no-repeat;
margin: 0px auto;
}
#wrap{
width: 700px;
height: 420px;
transform-style: preserve-3d;
perspective: 800px;
}
#wrap div{
width: 10px;
height: 420px;
background: url(img/01.png) no-repeat;
float: left;
transition: .5s;
}
</style>
</head>
<body>
<div id="box">
<div id="wrap"></div>
</div>
<script>
//在wrap下,写70个div,每个div显示一张图片的一小片部分,这样70个div能完整的显示出一张图片
for(var i=0;i<70;i++){
str +='<div style="background-position-x:'+(-10*i)+'px"></div>';
}
oWrap.innerHTML = str;
//获取70个div
var divs = oWrap.getElementsByTagName('div');
</script>
</body>
第二步
写tab()函数,设置每个div要做的动画
tab()函数
// 每个div设置前一个div的透明度为1,并且设置自己的透明度为0和背景图片
function tab(n){
// 0
if(divs[n-1]){
divs[n-1].style.opacity = 1;
}
// 70
if(divs[n]){
divs[n].style.opacity = 0;
divs[n].style.backgroundImage = "url(img/0"+imgNum+".png)";
}
}
第三步
写go()函数,利用定时器改变tab()函数的参数并且适时的改变背景图片
go()
//给tab()函数传递n值
function go(){
timer = setInterval(function(){
tab(num);
num++;
//一张图片切换完毕
if(num == 71){
clearInterval(timer);
//切换下一张图片
imgNum++;
//num清0,动画效果从第一个div开始
num = 0;
//当切到最后一张图片时,在从第一张开始切换
if(imgNum == 6){
imgNum = 1;
}
//切换完一张图片时切换下一张图片的间隔
setTimeout(go,800);
}
//div变换的速度
},80);
}
总结:这个动画效果实现起来简单,代码问题不大,主要就是实现思路的问题。
源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片切换(动画版)</title>
<style>
body{
margin: 0;
background-color: #5e5e5e;
}
#box{
width: 857px;
height: 574px;
padding-top: 126px;
padding-left:143px;
background: url(img/bg.png) no-repeat;
margin: 0px auto;
}
#wrap{
width: 700px;
height: 420px;
transform-style: preserve-3d;
perspective: 800px;
}
#wrap div{
width: 10px;
height: 420px;
background: url(img/01.png) no-repeat;
float: left;
transition: .5s;
}
</style>
</head>
<body>
<div id="box">
<div id="wrap"></div>
</div>
<script>
//在wrap下,写70个div,每个div显示一张图片的一小片部分,这样70个div能完整的显示出一张图片
for(var i=0;i<70;i++){
str +='<div style="background-position-x:'+(-10*i)+'px"></div>';
}
oWrap.innerHTML = str;
//获取70个div
var divs = oWrap.getElementsByTagName('div');
go();
//给tab()函数传递n值
function go(){
timer = setInterval(function(){
tab(num);
num++;
//一张图片切换完毕
if(num == 71){
clearInterval(timer);
//切换下一张图片
imgNum++;
//num清0,动画效果从第一个div开始
num = 0;
//当切到最后一张图片时,在从第一张开始切换
if(imgNum == 6){
imgNum = 1;
}
//切换完一张图片时切换下一张图片的间隔
setTimeout(go,800);
}
//div变换的速度
},80);
}
// 每个div设置前一个div的透明度为1,并且设置自己的透明度为0和背景图片
function tab(n){
// 0
if(divs[n-1]){
divs[n-1].style.opacity = 1;
}
// 70
if(divs[n]){
divs[n].style.opacity = 0;
divs[n].style.backgroundImage = "url(img/0"+imgNum+".png)";
}
}
</script>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 图片切换
# JS实现图片切换效果
# JavaScript实现图片切换效果
# 灵活使用数组制作图片切换js实现
# javascript图片切换综合实例(循环切换、顺序切换)
# JavaScript基于SVG的图片切换效果实例代码
# 片时
# 下一张
# 自己的
# 一张图
# 第一个
# 第一张
# 小片
# 对其
# 要做
# 准备工作
# 第二步
# 使用这个
# 第三步
# 有两个
# px
# top
# height
# padding
# repeat
# png
相关文章:
微信h5制作网站有哪些,免费微信H5页面制作工具?
建站主机SSH密钥生成步骤及常见问题解答?
如何通过虚拟机搭建网站?详细步骤解析
建站之星免费模板:自助建站系统与智能响应式一键生成
广东专业制作网站有哪些,广东省能源集团有限公司官网?
网站制作企业,网站的banner和导航栏是指什么?
C#如何使用XPathNavigator高效查询XML
如何快速搭建高效简练网站?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何通过宝塔面板实现本地网站访问?
高端企业智能建站程序:SEO优化与响应式模板定制开发
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
招贴海报怎么做,什么是海报招贴?
微信小程序 input输入框控件详解及实例(多种示例)
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
建站主机系统SEO优化与智能配置核心关键词操作指南
Android自定义控件实现温度旋转按钮效果
公司门户网站制作流程,华为官网怎么做?
建站上传速度慢?如何优化加速网站加载效率?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
深圳网站制作的公司有哪些,dido官方网站?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
如何配置支付宝与微信支付功能?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
5种Android数据存储方式汇总
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
建站之星logo尺寸如何设置最合适?
如何高效利用200m空间完成建站?
建站之星如何取消后台验证码生成?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何做网站制作流程,*游戏网站怎么搭建?
如何制作一个表白网站视频,关于勇敢表白的小标题?
自助网站制作软件,个人如何自助建网站?
广平建站公司哪家专业可靠?如何选择?
公司网站设计制作厂家,怎么创建自己的一个网站?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何通过PHP快速构建高效问答网站功能?
网站制作新手教程,新手建设一个网站需要注意些什么?
网站制作软件有哪些,制图软件有哪些?
北京制作网站的公司,北京铁路集团官方网站?
大同网页,大同瑞慈医院官网?
如何在香港服务器上快速搭建免备案网站?
如何在云主机快速搭建网站站点?
*请认真填写需求信息,我们会在24小时内与您取得联系。