jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2020-04-13 12:04
791 查看
本文实例讲述了jQuery实现带3D切割效果的轮播图。分享给大家供大家参考,具体如下:
这是一个使用css3+jQuery实现的轮播图效果,以前还没接触css3时,觉得效果挺酷炫的,但是实现挺复杂的,今天研究了一下,发现特别简单,稍微动用一下空间想象力就好了,下面时效果图
1.这是html代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>3D切割轮播图</title> </head> <body> <div class="box"> <ul class="images-box"> //每个li由4个span组成,刚好组成正方体前、后、上、下 四个面, <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> <li> <span></span> <span></span> <span></span> <span></span> </li> </ul> //左右切换按钮 <div> <a href="javascript:;" rel="external nofollow" rel="external nofollow" class="left"><</a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" class="right">></a> </div> </div> <script src="js/jquery-1.12.4.js"></script> <script src="js/index.js"></script> </body> </html>
2.这是css代码
*{ padding:0; margin: 0; } .box{ width: 600px; height: 300px; border: 1px solid #ccc; margin: 150px auto; position: relative; } .box .left, .box .right{ position: absolute; top: 50%; width: 40px; height: 40px; line-height: 40px; margin-top: -20px; text-align: center; text-decoration:none; font-weight: bold; font-size: 40px; color: #ccc; background-color: rgba(255,255,255,.2); } .box .right{ right: 0; } .images-box{ width: 100%; height: 100%; list-style: none; } .images-box li { width: 120px; height: 100%; float: left; position: relative; /*使被转换的子元素保留其 3D 转换*/ transform-style: preserve-3d; transition:all 6s; /*控制旋转时间*/ } .images-box li span{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("images/1.jpg")no-repeat ; } /*拼接立体容器,每个面使用不同的背景图*/ .box .images-box li span:nth-child(1){ background-image: url("images/1.jpg"); transform: translateZ(150px); } .box .images-box li span:nth-child(2){ background-image: url("images/2.jpg"); transform: rotateX(90deg) translateZ(150px); } .box .images-box li span:nth-child(3){ background-image: url("images/3.jpg"); transform: rotateX(180deg) translateZ(150px); } .box .images-box li span:nth-child(4){ background-image: url("images/4.jpg"); transform: rotateX(270deg) translateZ(150px); } /*拼接背景图*/ .images-box li:nth-child(1) span{ background-position: 0 0; } .images-box li:nth-child(2) span{ background-position: -120px 0; } .images-box li:nth-child(3) span{ background-position: -240px 0; } .images-box li:nth-child(4) span{ background-position: -360px 0; } .images-box li:nth-child(5) span{ background-position: -480px 0; }3.这是js代码,这里用到jquery,需提前引入
$(function () { var index=0; //旋转角度记录 var flag=true; $('.left').on('click',function () { if(!flag) return false; flag=false; index--; var angle=-index*90; $('.images-box li').css('transform','rotateX('+angle+'deg)').each(function (i,item) { // 每个模块延时不同,即可看出切换3d效果 $(this).css('transition-delay',i*0.25+'s'); }); }); $('.right').on('click',function () { if(!flag) return false; flag=false; index++; var angle=-index*90; $('.images-box li').css('transform','rotateX('+angle+'deg)').each(function (i,item) { $(this).css('transition-delay',i*0.25+'s'); }); }); //节流阀,防止连续、快速、多次点击 $('li:last').on('transitionend',function () { flag=true; }); }) </script>
这是页面所用的图片
1.jpg
2.jpg
3.jpg
4.jpg
完整代码点击此处本站下载。
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery图片操作技巧大全》、《jQuery表格(table)操作技巧汇总》、《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- jQuery实现经典的网页3D轮播图封装功能【附源码下载】
- jQuery实现带右侧索引功能的通讯录示例【附源码下载】
- jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
- jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
- jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
- jQuery flip插件实现的翻牌效果示例【附demo源码下载】
- jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
- jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
- jQuery插件实现的日历功能示例【附源码下载】
- jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
- jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
- jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
- jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
- jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
- jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
- jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
- 原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
- jQuery实现的下雪动画效果示例【附源码下载】
- 源码下载java利用jquery和smartupload实现头像上传切割效果
- jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】