jQuery版轮播图

使用jQuery制作轮播图

  1. 建一个HTML文件,并引入js文件

    1) 将要使用的图片进行引入,也就是写出样式来

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="UTF-8">
    <title>李大玄</title>
    <script src="../jquery-1.12.4.min.js"></script>
    </head>
    <body>
    <div class="container">
    <ul>
    <li>
    <a href="javascript: ;"><img src="images/1.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/2.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/3.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/4.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/5.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/6.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/7.jpg" alt=""></a>
    </li>
    <li>
    <a href="javascript: ;"><img src="images/8.jpg" alt=""></a>
    </li>
    </ul>
    <!--箭头-->
    <div class="arrow">
    <span class="arrow-left">&lt;</span> // 左箭头点击事件
    <span class="arrow-right">&gt;</span> // 右箭头点击事件
    </div>
    </div>
    </body>
    </html>
  2. 好,基本样式写出来了,这时候你可以打开看一看是什么样式的,有木有感觉很乱,接下来设置设置样式.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <style>   //  将所有的
    * {
    margin: 0;
    padding: 0;
    list-style: none;
    }
    // 最大的盒子
    .container {
    height: 340px;
    width: 790px;
    margin: 100px auto;
    position: relative;
    }
    // 这里使用定位将元素脱标,使他们落到一块
    .container li {
    position: absolute;
    display: none;
    }

    .container li:first-child {
    display: block;
    }

    .arrow {
    display: none;
    }

    .container:hover .arrow {
    display: block;
    }

    .arrow-left,
    .arrow-right {
    font-family: "SimSun", "宋体";
    width: 30px;
    height: 60px;
    background-color: rgba(0, 0, 0, 0.1);
    position: absolute;
    top: 50%;
    margin-top: -30px;
    cursor: pointer;
    text-align: center;
    line-height: 60px;
    color: #fff;
    font-weight: 700;
    font-size: 30px;
    }

    .arrow-left:hover,
    .arrow-right:hover {
    background-color: rgba(0, 0, 0, .5);
    }

    .arrow-left {
    left: 0;
    }

    .arrow-right {
    right: 0;
    }
    </style>

    根据我要写的js 我写的是这样的演示,根据分析你所要的样式,进行编写..

  3. 样式写完就可以了,这样最根本的就写好了,接下来写 js

    入口函数,如果写在结构上面的话就得写入口函数,要是写在下面的话,就不用写了.

    1. 设置一个变量 index 用来设置图片的数量
    2. 获取,当前文件下的所有 li 标签,jQuery具有一个好处,就是隐身迭代,也就是偷偷的遍历.
    3. 给右按钮设置点击事件,每点击一次的时候,让 index 自增,因为图片的数量是有限的,如果index自增的数量超过图片的数量,就会显示空,所以这里进行判断,当 index 大于最后一张图片的索引,就使 index 变为0. 获取li 标签 使用 一个 jQuery的一个方法,eq() 根据索引找元素,就是当前的index,然后使当前的这个图片渐入,使其他的图片渐出,这样就OK了。

    当然了,左按钮的原理与右按钮的原理是一样的,只不过是判断条件不一样,

    1. 左按钮的点击事件,因为是第一张变为左后一张,所以点击一次,就得让 index 减减,因为一上来就是0,所以,如果当 index 小于0的时候,重新赋值,赋值为最后一张图片的索引位置,渐入渐出同理。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $(function() {
    var index = 0;
    var $lis = $('li');
    var len = $lis.length;
    $('.arrow-right').click(function() {
    index++;
    if (index > len - 1) {
    index = 0;
    };
    $('.container li').eq(index).fadeIn(1000).siblings().fadeOut();
    });
    $('.arrow-left').click(function() {
    index--;
    if (index < 0) {
    index = len - 1;
    };
    $('.container li').eq(index).fadeIn(1000).siblings().fadeOut();
    });
    });
好了,一个简单的轮播图就写好了,当然我这里没写定时器,如果有兴趣的话可以拓展一下,加一个定时器。OK
文章目录
  1. 1. 使用jQuery制作轮播图
    1. 1.0.1. 好了,一个简单的轮播图就写好了,当然我这里没写定时器,如果有兴趣的话可以拓展一下,加一个定时器。OK
|