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 相关文章推荐
Sample script that deletes a SQL Server database
Jun 16 Javascript
js中apply方法的使用详细解析
Nov 04 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 Javascript
JS简单实现登陆验证附效果图
Nov 19 Javascript
Jquery实现仿腾讯微博发表广播
Nov 17 Javascript
基于JavaScript实现数码时钟效果
Mar 30 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
详解vue配置后台接口方式
Mar 29 Javascript
JS模拟浏览器实现全局搜索功能
Sep 11 Javascript
Javascript var变量删除原理及实现
Aug 26 Javascript
关于Vue Router的10条高级技巧总结
May 06 Vue.js
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中通过fopen()函数访问远程文件示例
2014/11/18 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
基于jQuery的history历史记录插件
2010/12/11 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
python类和函数中使用静态变量的方法
2015/05/09 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
在Python中表示一个对象的方法
2019/06/25 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
高三自我鉴定
2013/10/23 职场文书
技术学校毕业生求职信分享
2013/12/02 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
婚假请假条怎么写
2014/04/10 职场文书
驾驶员安全责任书
2014/07/22 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
酒桌上的开场白
2015/06/01 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL