jQuery箭头切换图片 - 学习笔记

jQuery箭头切换图片

  • 布局
  • 3d位移 变形原点
  • jQuery

transform:translate3d(x,y,z);

       x 代表横向坐标移向量的长度
       y 代表纵向坐标移向量的长度
       z 代表Z轴移向量的长度 取值不可为百

scale() 缩放

transform-origin:0 50%;

       top left | left top 等价于 0 0
       top | top center | center top 等价于 50% 0
       right top | top right 等价于 100% 0
       left | left center | center left 等价于 0 50%
       center | center center 等价于 50% 50%(默认值)
       right | right center | center right 等价于 100% 50%
       bottom left | left bottom 等价于 0 100%
       bottom | bottom center | center bottom 等价于 50% 100%
       bottom right | right bottom 等价于 100% 100%

 left,center right是水平方向取值,对应的百分值为left=0%;center=50%;right=100%
 top center bottom是垂直方向的取值,其中top=0%;center=50%;bottom=100%;

HTML 部分

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery箭头按钮切换图片</title>
<script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
</head>
<body>
<div class="box">

    <div class="list">
        <ul>
            <li class="p7"><a href="#"><img src="img/1.png" alt="" /></a></li>
            <li class="p6"><a href="#"><img src="img/2.png" alt="" /></a></li>
            <li class="p5"><a href="#"><img src="img/3.png" alt="" /></a></li>
            <li class="p4"><a href="#"><img src="img/44.jpg" alt="" /></a></li>
            <li class="p3"><a href="#"><img src="img/55.jpg" alt="" /></a></li>
            <li class="p2"><a href="#"><img src="img/66.jpg" alt="" /></a></li>
            <li class="p1"><a href="#"><img src="img/77.jpg" alt="" /></a></li>
        </ul>
    </div>

    <a href="javascript:;" class="prev btn"><</a>
    <a href="javascript:;" class="next btn">></a>
</div>
</body>
</html>

CSS 部分

<style type="text/css">
*{
    margin: 0;
    padding: 0;
}

.box{
    margin-top: 80px;
    width: 100%;
    height: 340px;
    position: relative; /* 相对定位 */
}

.list{
    width: 1200px;
    height: 300px;
    overflow: hidden;
    position: absolute;
    left: 50%;
    margin-left: -600px;
}

.btn{
    position: absolute; /* 绝对定位 */
    top: 50%;
    margin-top: -50px;
    width: 60px;
    height: 100px;
    line-height: 100px; /* 行高 */
    font-size: 30px;
    color: white;
    text-decoration: none; /* 文本修饰 */
    text-align: center;
    background: rgba(0,255,0,.5);
    cursor: pointer; /* 光标的样式 改为手指 */
}
.next{
    right: 0;
}

li{
    position: absolute;
    top: 0;
    left: 0;
    list-style: none;
    opacity: 0;
    transition: all 0.3s ease-out;
}
img{
    width: 751px;
    height: 300px;
    border:none;
    float: left;
}
.p1{
    transform:translate3d(-224px,0,0) scale(0.81);
    /* 3d位移 x,y,z
       x 代表横向坐标移向量的长度
       y 代表纵向坐标移向量的长度
       z 代表Z轴移向量的长度 取值不可为百分比
     */
}
.p2{
    transform:translate3d(0px,0,0) scale(0.81);
    transform-origin:0 50%;  /* 变形原点 */
    /*  top left | left top 等价于 0 0
        top | top center | center top 等价于 50% 0
        right top | top right 等价于 100% 0
        left | left center | center left 等价于 0 50%
        center | center center 等价于 50% 50%(默认值)
        right | right center | center right 等价于 100% 50%
        bottom left | left bottom 等价于 0 100%
        bottom | bottom center | center bottom 等价于 50% 100%
        bottom right | right bottom 等价于 100% 100%
     */
     /*
        left,center right是水平方向取值,对应的百分值为left=0%;center=50%;right=100%
        top center bottom是垂直方向的取值,其中top=0%;center=50%;bottom=100%;        如果只取一个值,表示垂直方向值不变。
      */

    opacity: 0.8;
    z-index: 2;
}
.p3{
    transform:translate3d(224px,0,0) scale(1);
    z-index: 3;
    opacity: 1;
}
.p4{
    transform:translate3d(449px,0,0) scale(0.81);
    transform-origin:100% 50%;
    opacity: 0.8;
    z-index: 2;
}
.p5{
    transform:translate3d(672px,0,0) scale(0.81);
}
.p6{
    transform:translate3d(896px,0,0) scale(0.81);
}
.p7{
    transform:translate3d(1120px,0,0) scale(0.81);
}

</style>

JavaScript 部分

<script type="text/jscript">
var cArr=["p7","p6","p5","p4","p3","p2","p1"];
var index=0;
$(".next").click( //下一张
    function(){
    nextimg();
    }
)
$(".prev").click( //上一张
    function(){
    previmg();
    }
)
//上一张
function previmg(){
    cArr.unshift(cArr[6]); //向数组的开头添加一个或更多元素 并返回新的长度
    cArr.pop(); //移除最后一个元素
    //i是元素的索引,从0开始
    //e为当前处理的元素
    //each循环,当前处理的元素移除所有的class,然后添加数组索引i的class
    $("li").each(function(i,e){
        $(e).removeClass().addClass(cArr[i]);
    })
    index--;
    if (index<0) {
        index=6;
    }
    show();
}

//下一张
function nextimg(){
    cArr.push(cArr[0]); //向数组的末尾添加一个或更多元素 并返回新的长度
    cArr.shift(); //删除元素数组中的第一个值 并返回
    $("li").each(function(i,e){
        $(e).removeClass().addClass(cArr[i]);
    })
    index++;
    if (index>6) {
        index=0;
    }
    show();
}
</script>

此文到此结束

此文参考 http://www.w3cplus.com/css3/css3-3d-transform.html

时间: 2024-10-13 12:03:43

jQuery箭头切换图片 - 学习笔记的相关文章

进程的状态和切换(学习笔记)

时间:2014.05.28 地点:基地 ------------------------------------------------------------------------------- 一.进程的三种基本状态 进程的三种基本状态包括:就绪状态,执行状态,阻塞状态 1.就绪状态 当进程分配得到除CPU之外的所有必要资源后,只要再获得CPU就可以立即执行了,万事俱备只欠东风而已.该状态即就绪状态,一个系统中处于就绪状态的进程可能有很多,将他们排成一个队列,形成一个就绪队列. 2.执行状

锋利的jQuery第2版学习笔记4、5章

第4章,jQuery中的事件和动画 注意:使用的jQuery版本为1.7.1 jQuery中的事件 JavaScript中通常使用window.onload方法,jQuery中使用$(document).ready()方法. 1.执行时机 window.onload方法在网页所有元素都加载完毕之后才执行,$(document).ready()方法在DOM完全就绪就可以被调用 由于$(document).ready()方法内注册事件,只要DOM就绪就会被执行,因此有可能此时元素的关联文件还未下载完

jQuery中的Ajax学习笔记

前段时间学习了<锋利的jQuery第六章>jQuery与Ajax应用,现做如下笔记: 我们先来了解一下,什么是Ajax呢?Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体.简短地说,在不重载整个页面的情况下,Ajax通过后台加载数据,并在网页上进行显示. 我们来简要回顾一下Ajax.早在1998年,微软就引入了一个ActiveX控件,从而能

锋利的jQuery第2版学习笔记8~11章

第8章,用jQuery打造个性网站 网站结构 文件结构 images文件夹用于存放将要用到的图片 styles文件夹用于存放CSS样式表,个人更倾向于使用CSS文件夹 scripts文件夹用于存放jQuery脚本,个人更倾向于使用JS文件夹存放所有的js及jQuery脚本 编写CSS样式 推荐首先编写全局样式,接着编写可大范围内重用的样式,最后编写细节样式,这样根据CSS最近优先原则,可以较容易地对网站进行从整体到细节样式的定义 第9章,jQuery Mobile jQuery Mobile主要

自定义属性作业——带缩略图的轮播切换——JS学习笔记2015-5-31(第44天)

今天看着老师的教程,学习完了自定义属性的章节,同时完成了带缩略图的轮播切换: 收获:1.在写HTML结构的时候发现空格符或者换行符对样式的影响,比如<li></li><li></li>之间如果有空格或者间距会产生间隙:因为现代浏览器基本上都可以解析出来: 2.绝对定位下的水平和垂直居中问题以及复习了解决方案: 3.在这个作业中,应用到了this,自定义属性,for循环,点击事件,动态获取组元素,数组等多种基础知识,可见基础的重要性: 4.收获完成作业时候的那

锋利的jQuery第2版学习笔记1~3章

第1章,认识jQuery 目前流行的JavaScript库 Prototype(http://www.prototypejs.org),成型早,面向对象的思想把握不到位,导致结构松散 Dojo(http://dojotoolkit.org),学习曲线陡,文档不全,最严重的是API不稳定 YUI(http://developer.yahoo.com/yui/) Ext JS(http://www.extjs.com),侧重界面,比较臃肿,用于商业用途需要付费 MooTools(http://moo

《jQuery权威指南》学习笔记

1.1 jQuery概述 1.1.1 认识jQuery jQuery:Javascript.CSS.DOM.Ajax 1.1.2 jQuery基本功能 1.访问和操作DOM元素: 2.控制页面样式:兼容性: 3.对页面事件的处理:事件绑定机制: 4.大量插件在页面中的运用: 5.与Ajax技术的完美结合:异步读取服务器数据. 1.1.3 搭建jQuery开发环境 引入jQuery文件库:  <script language="jscript" type="text/ja

圆角边框以及阴影制作卡片式图片 - 学习笔记

圆角边框以及阴影制作卡片式图片 圆角边框 border-radius 卡片使用阴影 box-shadow 利用阴影给图片底部创造一个长方形 内部的元素会直接覆盖整个阴影 HTML 部分 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>卡片式图片&l

锋利的jQuery第2版学习笔记6、7章

第6章,jQuery与Ajax的应用 Ajax的优势和不足 Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高Web程序的性能 4.减轻服务器和带宽的负担 Ajax的不足 1.浏览器对XMLHttpRequest对象的支持度不足 2.破坏浏览器前进.后退按钮的正常功能 3.对搜索引擎的支持的不足 4.开发和调试工具的缺乏 Ajax的XMLHttpRequest对象 Ajax的核心是XMLHttpRequest对象,它是Ajax实现的关键----发送异步请求.接收响应及执行回调都是通