js实现图片切换(动画版)

前端之家收集整理的这篇文章主要介绍了js实现图片切换(动画版)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

这个小效果相对简单一点。

知识预备:

【1】background-position-x

background-position属性设置背景原图像(由 background-image 定义)的位置,意味着使用这个属性的前提是必须设置背景原图像background-image。

background-position有两个属性值, background-position:x | y,用法上可以对其一个属性单独使用 background-position-x 和 background-position-y。

准备工作完毕,开始写代码

第一步

由于这次需要的div很多,所以采用动态添加的方式,直接看代码

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; }
Box">

第二步

写tab()函数,设置每个div要做的动画

tab()函数

图片 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()

函数传递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); }

总结:

这个动画效果实现起来简单,代码问题不大,主要就是实现思路的问题。

源码:

<Meta charset="UTF-8"> <a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>切换(动画版)
Box">

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

原文链接:https://www.f2er.com/js/43185.html

猜你在找的JavaScript相关文章