最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS使用tween.js动画库实现轮播图并且有切换功能

来源:动视网 责编:小采 时间:2020-11-27 22:11:26
文档

JS使用tween.js动画库实现轮播图并且有切换功能

JS使用tween.js动画库实现轮播图并且有切换功能:效果图如下所示: <!DOCTYPE html> <html lang=zh-CN> <head> <meta charset=UTF-8> <title>Document</title> <style> .wrap{ width: 500px; heig
推荐度:
导读JS使用tween.js动画库实现轮播图并且有切换功能:效果图如下所示: <!DOCTYPE html> <html lang=zh-CN> <head> <meta charset=UTF-8> <title>Document</title> <style> .wrap{ width: 500px; heig


效果图如下所示:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
 .wrap{
 width: 500px;
 height: 300px;
 position: relative;
 overflow: hidden;
 }
 .box{
 width: 500%;
 height: 100%;
 position: absolute;
 left: 0;
 }
 .box>div{
 width: 500px;
 height: 300px;
 float: left;
 font-size: 100px;
 text-align: center;
 line-height: 300px;
 }
 div:nth-child(1){
 background-color: red;
 }
 div:nth-child(2){
 background-color: green;
 }
 div:nth-child(3){
 background-color: pink;
 }
 div:nth-child(4){
 background-color: blue;
 }
 </style>
</head>
<body>
 <input type="button" value="last">
 <input type="button" value="next">
 <input type="button" value="按钮1" class="ha">
 <input type="button" value="按钮2" class="ha">
 <input type="button" value="按钮3" class="ha">
 <input type="button" value="按钮4" class="ha">
 <div class="wrap">
 <div class="box">
 <div id="one">div1</div>
 <div>div2</div>
 <div>div3</div>
 <div>div4</div>
 <div id="one">div1</div>
 </div>
 </div>
</body>
<script src="./tween.js"></script>
<script>
 //获取元素
 var inps = document.querySelectorAll("input");
 var box = document.querySelector(".box");
 var ha = document.querySelectorAll(".ha");
 //记录图片下标
 var index = 0;
 var w = -500;
 var timer = null;
 //自动播放
 //放在计时器就是自动播放,骑士就是下一张的操作
 function autoImg(){
 index++;
 if(index>3){
 // console.log(index);
 index=0;
 // console.log(index);
 }
 //动画开始时间
 var t = 0;
 //动画结束时间
 var d = 30;
 //动画的起始位置
 var b = box.offsetLeft;
 //动画的终止位置减去动画的起始位置,该变量为-500
 // var c =index*w-b;
 console.log(c);
 var c = -500;
 if(b<=-1500){
 b=0;
 }
 clearInterval(timer);
 timer = setInterval(function(){
 t++;
 box.style.left=Tween.Linear(t,b,c,d)+"px";
 if(t>=d){
 clearInterval(timer);
 }
 },30);
 }
//关闭轮播
 function clearAuto(){
 clearInterval(autotimer);
 autotimer = setInterval(autoImg,3000);
 }
 var autotimer = setInterval(autoImg,3000);
 //下一张
 inps[1].onclick = function(){
 clearAuto();
 autoImg();
 }
 //上一张
 function prevImg(){
 index--;
 if(index<0){
 index=3;
 }
 //动画开始时间
 var t = 0;
 //动画结束时间
 var d = 30;
 //动画的起始位置
 var b = box.offsetLeft;
 //动画的终止位置减去动画的起始位置
 var c =index*w-b;
 clearInterval(timer);
 timer = setInterval(function(){
 t++;
 box.style.left=Tween.Linear(t,b,c,d)+"px";
 if(t>=d){
 clearInterval(timer);
 }
 },30);
 }
 inps[0].onclick = function(){
 clearAuto();
 prevImg();
 }
function indexImg(n){
 index = n;
 var t = 0;
 //动画结束时间
 var d = 30;
 //动画的起始位置
 var b = box.offsetLeft;
 //动画的终止位置减去动画的起始位置
 var c =index*w-b;
 clearInterval(timer);
 timer = setInterval(function(){
 t++;
 box.style.left=Tween.Linear(t,b,c,d)+"px";
 if(t>=d){
 clearInterval(timer);
 }
 },30);
 }
 
 for(var i=0;i<ha.length;i++){
 (function(i){
 ha[i].onclick = function(){
 // box.style.left = (-500*(i-2))+"px";
 clearAuto();
 indexImg(i);
 console.log(i);
 }
 })(i);
 }
</script>
</html>

总结

以上所述是小编给大家介绍的JS使用tween.js动画库实现轮播图并且有切换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

文档

JS使用tween.js动画库实现轮播图并且有切换功能

JS使用tween.js动画库实现轮播图并且有切换功能:效果图如下所示: <!DOCTYPE html> <html lang=zh-CN> <head> <meta charset=UTF-8> <title>Document</title> <style> .wrap{ width: 500px; heig
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top