javascript实现切割轮播效果


Posted in Javascript onNovember 28, 2019

本文实例为大家分享了javascript实现切割轮播的具体代码,供大家参考,具体内容如下

效果

javascript实现切割轮播效果

代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="js/jquery.min.js"></script>
 <style>

 .container{
  position: relative;
  width: 560px;
  height: 300px;
 }
 .container ul{
  /*transform-style:preserve-3d;*/
  /*transform: rotateX(-30deg) rotateY(21deg);*/
  width: 560px;
  height: 300px;
  border:2px solid red;
  list-style-type: none;
  margin:0;
  padding:0;
 }
 .container ul li{
  position: relative;
  float: left;
  /*一张图分作5片,图的总宽度是560*/
  width: 112px;
  height: 300px;
  transform-style:preserve-3d;
  transition:all 0.5s;
 }
 .container ul li span{
  position: absolute;
  left:0;
  top:0;
  width: 100%;
  height: 100%
 }
 /*以下4个选择器设定立体效果*/
 .container ul li span:nth-child(1){
  background: yellow;
  transform:translateZ(150px);
 }
 .container ul li span:nth-child(2){
  background: pink;
  transform:translateY(-150px) rotateX(90deg);
 }
 .container ul li span:nth-child(3){
  background: orange;
  transform:translateZ(-150px) rotateX(180deg);
 }
 .container ul li span:nth-child(4){
  background: blue;
  transform:translateY(150px) rotateX(270deg);
 }
 /*//以下4个选择器设定第n个span的背景图*/
 .container ul li span:nth-child(1){
  background: url(images/1.jpg);
 }
 .container ul li span:nth-child(2){
  background: url(images/2.jpg);
 }
 .container ul li span:nth-child(3){
  background: url(images/3.jpg);
 }
 .container ul li span:nth-child(4){
  background: url(images/4.jpg);
 }
 /*以下5个选择器用于设定第i个li的背景定位*/
 .container ul li:nth-child(1) span{
  background-position: 0px 0px;
 }
 .container ul li:nth-child(2) span{
  background-position: -112px 0px;
 }
 .container ul li:nth-child(3) span{
  background-position: -224px 0px;
 }
 .container ul li:nth-child(4) span{
  background-position: -336px 0px;
 }
 .container ul li:nth-child(5) span{
  background-position: -448px 0px;
 }

 /*.container ul li:nth-child(1) span:nth-child(1){
  background: url(images/1.jpg) 0px 0px;
 }
 .container ul li:nth-child(2) span:nth-child(1){
  background: url(images/1.jpg) -112px 0px;
 }
 .container ul li:nth-child(3) span:nth-child(1){
  background: url(images/1.jpg) -224px 0px;
 }
 .container ul li:nth-child(4) span:nth-child(1){
  background: url(images/1.jpg) -336px 0px;
 }
 .container ul li:nth-child(5) span:nth-child(1){
  background: url(images/1.jpg) -448px 0px;
 }

 .container ul li:nth-child(1) span:nth-child(2){
  background: url(images/2.jpg) 0px 0px;
 }
 .container ul li:nth-child(2) span:nth-child(2){
  background: url(images/2.jpg) -112px 0px;
 }*/
  
 .container span.left, .container span.right{
  position: absolute;
  top:50%;
  background: rgba(0,0,0,0.3);
  width: 18px;
  height: 40px;
  font-size:25px;
  font-weight: bold;
  color:white;
  text-align: center;
  line-height: 40px;
  cursor:pointer;
 }
 .container span.left{
  left:0;
 }
 .container span.right{
  right:0;
 }
 </style>
</head>
<body>
 <div class="container">
 <ul>
  <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>
 <span class="left"><</span>
 <span class="right">></span>
 </div>
</body>
</html>
<script>
 $(function(){
 var allowClick = true;
 var seq = 0; //代表初始的转动角度次数
 //先给这5个li的动画效果设置不同的延时(delay)
 //index表示循环中的索引号,item表示当前项(这里是li)
 $("ul>li").each(  function(index,item){
  var delay_time = index*0.25;
  $(item).css({"transition-delay": delay_time + "s"});
 } );

 //transitionend事件:动画结束事件
 $("ul>li:last-child").on('transitionend',function(){
  allowClick = true; //允许点击
 });

 //
 $("span.left").on('click',function(){
  //如果allowClick为false,表示此时还不允许点击,就直接退出
  if(allowClick == false){ return ;}

  allowClick = false; //如果可以继续下去,此时就会去执行动画,则此刻
    //就必须讲这个allowClick设定为false
  seq--;
  var angle = -seq*90;
  $("ul>li").css({"transform":"rotateX(" + angle + "deg)"});
 });
 $("span.right").on('click',function(){
  //如果allowClick为false,表示此时还不允许点击,就直接退出
  if(allowClick == false){ return ;}
  allowClick = false;
  seq++;
  var angle = -seq*90;
  $("ul>li").css({"transform":"rotateX(" + angle + "deg)"});
 });
 });
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
让人期待的2011年度最佳 jQuery 插件分享
Mar 16 Javascript
JS实现标签页效果(配合css)
Apr 03 Javascript
JS实现简洁、全兼容的拖动层实例
May 13 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
Oct 04 Javascript
vue通过watch对input做字数限定的方法
Jul 13 Javascript
基于vue组件实现猜数字游戏
May 28 Javascript
vue使用ajax获取后台数据进行显示的示例
Aug 09 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
Jun 18 Javascript
微信小程序—setTimeOut定时器的问题及解决
Jul 26 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 Javascript
解决vue scoped scss 无效的问题
Sep 04 Javascript
javascript实现商品图片放大镜
Nov 28 #Javascript
javascript实现视频弹幕效果(两个版本)
Nov 28 #Javascript
javascript实现弹幕墙效果
Nov 28 #Javascript
jquery实现直播弹幕效果
Nov 28 #jQuery
jQuery实现简单弹幕效果
Nov 28 #jQuery
微信小程序事件流原理解析
Nov 27 #Javascript
JS实现简单省市二级联动
Nov 27 #Javascript
You might like
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
php fread读取文件注意事项
2016/09/24 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
如何使用angularJs
2017/05/08 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
Python 私有函数的实例详解
2017/09/11 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
办加油卡单位介绍信
2014/01/09 职场文书
群众路线领导对照材料
2014/08/23 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
话题作文之呼唤
2019/12/18 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL