js轮播图之旋转木马效果

2022-01-14,,,,

这篇文章主要为大家详细介绍了js轮播图旋转木马效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js轮播图之旋转木马效果的具体代码,供大家参考,具体内容如下

思路:给定一个数组,储存每张图片的位置,旋转将位置进行替换
左旋转:将数组第一个数据删除,然后添加到数组的最后
右旋转:将数组最后一个数据删除,然后添加到数组的开头
先附上效果图,再来实现

接下来就是最主要的,封装原生js动画函数

 //封装函数获取任意一个元素的任意属性的值(兼容ie8) function getStyle(element, attr) { return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr]; } //封装js变速动画 function animate(element, json, fn) { //每次启动定时器之前先停止 clearInterval(element.tmId); element.tmId = setInterval(function () { var flag = true; //遍历对象中的每个属性 for (var attr in json) { //执行透明度动画 if (attr == "opacity") { //获取当前元素的属性值 var current = parseInt(getStyle(element, attr)*100); //获取目标值 var target = json[attr]*100; //移动的步数 var step = (target - current) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step); //移动后的值 current += step; element.style[attr] = current / 100; } else if (attr == "zIndex") { //改变层级属性 element.style[attr] = json[attr]; } else { //获取当前元素的属性值 var current = parseInt(getStyle(element, attr)); //获取目标值 var target = json[attr]; //移动的步数 var step = (target - current) / 10; step = step > 0 ? Math.ceil(step) : Math.floor(step); //移动后的值 current += step; element.style[attr] = current + "px"; if (current != target) { flag = false; } } } if (flag) { clearInterval(element.tmId); //如果有回调函数就调用 if (fn) fn(); } // 测试 // console.log("目标:" + target + "/当前:" + current + "/步数:" + step); }, 20); }

封装完函数,剩下的直接调用就可以了,最后附上旋转木马完整代码?

   旋转木马轮播图   

精彩专题分享:jQuery图片轮播JavaScript图片轮播Bootstrap图片轮播

以上就是js轮播图之旋转木马效果的详细内容,更多请关注本站其它相关文章!

《js轮播图之旋转木马效果.doc》

下载本文的Word格式文档,以方便收藏与打印。