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 相关文章推荐
JS JavaScript获取Url参数,src属性参数
Mar 09 Javascript
filemanage功能中用到的lib.js
Apr 08 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
Nov 23 Javascript
JavaScript中对循环语句的优化技巧深入探讨
Jun 06 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 Javascript
JavaScript模板引擎应用场景及实现原理详解
Dec 14 Javascript
微信小程序自定义导航栏
Dec 31 Javascript
javascript json对象小技巧之键名作为变量用法分析
Nov 11 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
轻松修复Discuz!数据库
2008/05/03 PHP
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
C#和SQL Server的面试题
2016/08/12 面试题
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
应聘编辑职位自荐信范文
2014/01/05 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
建筑管理专业求职信
2014/07/28 职场文书
教师个人年终总结
2015/02/11 职场文书
党员评议自我评价
2015/03/03 职场文书
信息技术教研组工作总结
2015/08/13 职场文书