利用css3+js实现简单带立体过渡效果的图片切换(chrome浏览器)

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>图片立体过渡切换效果</title>
    <style type="text/css">
    *{margin:0;padding:0;}
    div{width:500px;height:500px;margin:150px auto;position:relative;perspective:800px;}
    ul{list-style:none;width:500px;height:280px;}
    li{position:absolute;top:0;left:0;transition:all 1s;}
    li.center{transform:translateZ(100px);z-index:10;}
    li.left1{transform:rotateY(25deg) translateX(-150px);z-index:9;}
    li.left2{transform:rotateY(18deg) translateX(-300px);z-index:8;}
    li.right1{transform:rotateY(-25deg) translateX(150px);z-index:9;}
    li.right2{transform:rotateY(-18deg) translateX(300px);z-index:8;}
    li.back{transform:translateZ(-200px);z-index:1;}
    span{width:60px;height:60px;background:rgba(255,255,255,.3);color:#fff;font-weight:bold;position:absolute;left:-380px;
         top:80px;z-index:11;font-size:50px;text-align:center;line-height:60px;cursor:pointer;}
    span:nth-of-type(2){left:810px;}
    </style>
    <script type="text/javascript">
        window.onload=function(){
            var ul=document.getElementsByTagName("ul")[0];
            var div=document.getElementsByTagName("div")[0];
            var lis=document.getElementsByTagName("li");
            var spans=document.getElementsByTagName("span");
            var classes=["left2","left1","center","right1","right2","back","back","back","back"];
            var lock=false //定义动画锁,false为没锁定

            spans[0].onclick=function(){
               if(lock==false){//如果动画没有被锁
                   lock=true;
                   setTimeout(function(){
                       lock=false;//1秒后解锁
                   },500);
                   var first_class=classes.shift();//取出数组第一个元素
                   classes.push(first_class);//将取出的第一个元素加到放到数组最后
                   for(var i=0;i<lis.length;i++){
                       lis[i].className=classes[i];//将lis的类与classes对应起来
                   }
               }
            }

            spans[1].onclick=function(){
                if(lock==false){//如果动画没有被锁
                   lock=true;
                   setTimeout(function(){
                       lock=false;//1秒后解锁
                   },500);
                   var last_class=classes.pop();
                   classes.unshift(last_class);
                   for(var j=0;j<lis.length;j++){
                        lis[j].className=classes[j];
                   }
                }
            }
        }
    </script>

</head>
<body>
    <div>
        <ul>
            <li class="left2"><img src="1.jpg" alt="" /></li>
            <li class="left1"><img src="2.jpg" alt="" /></li>
            <li class="center"><img src="3.jpg" alt="" /></li>
            <li class="right1"><img src="4.jpg" alt="" /></li>
            <li class="right2"><img src="5.jpg" alt="" /></li>
            <li class="back"><img src="6.jpg" alt="" /></li>
            <li class="back"><img src="7.jpg" alt="" /></li>
            <li class="back"><img src="8.jpg" alt="" /></li>
            <li class="back"><img src="9.jpg" alt="" /></li>
        </ul>
        <span>&lt;</span>
        <span>&gt;</span>
    </div>
</body>
</html>

时间: 2024-11-10 01:17:41

利用css3+js实现简单带立体过渡效果的图片切换(chrome浏览器)的相关文章

自动播放——幻灯片缓冲效果&amp;&amp;带Loading效果的图片切换&amp;&amp;移动效果(按轨迹移动)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

一款在论坛上看到的JS封装的随机过渡方式的图片切换效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

利用node.js搭建简单web服务器的方法教程

前言 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块.路径解析模块.以及301重定向问题,下面我们就简单讲一下如何来搭建一个简单的Web服务器. 早先不使用web服务器的情况下想要在浏览器端访问本地资源,可以利用firefox浏览器,其可以自己启动一个小型web服务器. 为了让刚接触node的人也能大体看懂,本文的代码我将尽量简化. 准备 首先,

如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式

首先我们来说说为何要生成sourceMap文件呢?简单的说,sourceMap是为了压缩后的代码调式提供方便,比如线上的JS文件已经压缩了,但是线上比如说有bug,但是代码已经是压缩后的,对于开发并不好调式,所以想生存一个对应的Map文件,然后使用chrome浏览器在源文件未压缩的JS文件下调式. 那么Map文件到底是什么呢?简单的来讲它就是记录信息,记录一些为压缩之前的js文件的位置,及压缩后的文件对应未压缩之前的文件,对应第几行第几列的那些代码! 在讲解使用grunt生存Map文件之前,我们

jquery.cycle.js图片切换插件参数详解

jquery.cycle.js是jquery的一个插件,主要用来实现千奇百怪的图片切换效果---当然,不是图片也能切换,只是它经常被用来做图片切换而已:这个插件总共有27种效果,是非常好的插件,用到手机版开发是很好的插件来的: 当然jquery.cycle.js的强大远不止于此,下面列举一些它的基本参数: fx:'fade'>值:字符串,作用:选择特效.切换效果是它的重头戏,我统计过,jquery.cycle.js支持27种切换效果,我一一进行了测试,列举在jquery.cycle.js切换特效

利用Node.js实现模拟Session验证的登陆

1.身份验证和用户登陆 在一般的Web应用上,如果要实现用户登陆,最常用,也是最简单的方法就是使用Session,基本的思路是在Session中保留一些用户身份信息,然后每次在Session中取,如果信息不正确或不存在,那么身份验证失败,正确则成功. Session和Cookie是两个很相似的东西,都是字符串,只不过Session是保存在服务器上的,而Cookie是保存在本地的,所以Cookie是不能用作身份验证的.Session故名思议,肯定和客户端与服务器间建立的会话相关,Session的工

利用pixi.js制作精灵动画

CSS Sprites 技术对于广大的前端工程师来说应该是一点也不陌生.国内开发者昵称为CSS精灵,通过一定的技术手段,让精灵动起来,我称其为精灵动画,那么目前有哪些实现方式 呢?下面让我们详细的聊聊. 关于实现精灵动画的方式有很多种,我自己实践过的主要有三种: 1: 把动作分解成一系列连续的编号的图片,如img0.jpg,img1.jpg,img2.jpg...,然后利用setIntval等定时器不断的去更换图片地址. 2: 把动作按照一定的间距排列在一张图片上,利用css3的动画帧,做出动画

iOS开发——网络开发OC篇&amp;OC与JS交互简单案例

OC与JS交互简单案例 网页开发中三个重要的知识,这里就不详细介绍了! Html:页面代码 Css:样式 javascript:响应 先来看一段html的简单代码,里面涉及了上面的三个部分(很简单) 1 <html> 2 <!--描述网页信息--> 3 <head> 4 <meta charset="UTF-8"/> 5 <title>hello world</title> 6 <script> 7 f

[IOS_HTML5]各种JS框架介绍--用HTML5/CSS3/JS开发Android/IOS应用

现在人人都想成为安卓/IOS应用开发工程师.其实,安卓/IOS应用可以用很多种语言来实现.由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了.所以,今天大家将会认识到一些利用前端语言来开发安卓/IOS应用的工具. 在文章的末尾,也介绍了使用JAVA.C#.Lua以及AS3来开发安卓应用的工具. 希望大家都能找到适合自己的开发工具!祝大家开发安卓/IOS应用一切顺利! PhoneGap 开发语言: HTML, CSS, JavaScript 开发工具: Ph