zoukankan      html  css  js  c++  java
  • jQuery之制作简单的轮播图效果

    【源代码】

      链接:https://pan.baidu.com/s/1XpZ66D9fmSwWX3pCnGBqjA 密码:w104

    【整体构思】

       这个轮播图使用的是jQuery,所以Js的整体代量比较少.

       轮播图,其实思路可以很多

        第一种: 

            通过修改每一张图片的透明度,让其每隔一段时间将其中的某一张图片透明度设为 1,而其他的设为0,从而实现图频轮流播放的效果。首先让一组图片绝对定位,并使其重叠,通过函数切换控制图片的透明度和定时器来触发该函数,改变不同图片的透明度。

        第二种:

            通过修改每一张图片的display,让其每隔一段时间将其中的某一张图片为block,而其他的设为none,从而实现图频轮流播放的效果。首先让一组图片绝对定位,并使其重叠,通过函数切换控制图片的display和定时器来触发该函数,改变不同图片的display样式。

        更多的思路,留给你们展示~

    HTML代码

    <!--
    *
    *
    * @Author: wyy
    * @Date:   2018-08-20 18:20:13
    * @Email:  2752154874@qq.com
    * @Last Modified by:   wyy
    * @Last Modified time: 2018-08-21 20:06:51
    *
    *
    -->
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>轮播图</title>
        <link rel="stylesheet" href="css/style.css">
        <script src="js/jquery-1.7.2.min.js"></script>
        <script src="js/index.js"></script>
    </head>
    
    <body>
        <div class="banner">
            <!-- 轮播图 -->
            <ul class="bg">
                <li class="current"><a href="#"><img src="./img/banner.jpg" alt="banner" width="1226" height="460"></a></li>
                <li><a href="#"><img src="./img/banner2.jpg" alt="banner" width="1226" height="460"></a></li>
                <li><a href="#"><img src="./img/banner3.jpg" alt="banner" width="1226" height="460"></a></li>
                <li><a href="#"><img src="./img/banner4.jpg" alt="banner" width="1226" height="460"></a></li>
                <li><a href="#"><img src="./img/banner5.jpg" alt="banner" width="1226" height="460"></a></li>
                <li><a href="#"><img src="./img/banner6.jpg" alt="banner" width="1226" height="460"></a></li>
            </ul>
            <!-- 左右箭头 -->
            <div class="left"></div>
            <div class="right"></div>
            <!-- 小圆点 -->
            <div class="list">
                <ul>
                    <li id="bg_1" class="list-btn current"></li>
                    <li id="bg_2" class="list-btn"></li>
                    <li id="bg_3" class="list-btn"></li>
                    <li id="bg_4" class="list-btn"></li>
                    <li id="bg_5" class="list-btn"></li>
                    <li id="bg_6" class="list-btn"></li>
                </ul>
            </div>
        </div>
    </body>
    
    </html>

      

    CSS代码

    /*
    * @Author: wyy
    * @Date:   2018-08-20 18:26:46
    * @Email:  2752154874@qq.com
    * @Last Modified by:   wyy
    * @Last Modified time: 2018-08-21 20:30:32
    */
    
    *{
        margin: 0;
        padding: 0;
    }
    
    li {
        list-style: none;
    }
    
    a {
        text-decoration: none;
    }
    
    .banner {
        width: 1226px;
        height: 460px;
        margin: 0 auto;
        position: relative;
    }
    
    a {
        color: #fff;
    }
    
    a:hover {
        color: #FFAA07FF;
    }
    
    a:hover .second {
        display: block;
    }
    
    .bg li{
        list-style: none;
        float: left;
        display: none;
        position: absolute;
    }
    
    .bg li.current{
        display: block;
    }
    
    .left {
        width: 40px;
        height: 70px;
        background: url("../img/icon-slides.png") 83px 0px;
        position: absolute;
        top: 42%;
    }
    
    .left:hover {
        background-position: 0px 0px;
    }
    
    .right {
        width: 40px;
        height: 70px;
        background: url("../img/icon-slides.png") 40px 0px;
        position: absolute;
        right: 0px;
        top: 42%;
    }
    
    .right:hover {
        background-position: -43px 0px;
    }
    
    .list {
        width: 145px;
        height: 20px;
        position: absolute;
        right: 30px;
        bottom: 15px;
    }
    
    .list-btn {
        width: 12px;
        height: 12px;
        list-style: none;
        float: left;
        background: lightgrey;
        margin-left: 6px;
        border-radius:6px;
        cousor:pointer;
    }
    
    .list ul .current{
        background: #f88535;
    }

    JS代码

    /*
     * @Author: wyy
     * @Date:   2018-08-20 18:40:26
     * @Email:  2752154874@qq.com
     * @Last Modified by:   wyy
     * @Last Modified time: 2018-08-21 20:48:06
     */
    
    // 全局变量
    var index = 0;
    
    $(function() {
    
        // 定时器
        (function() {
            setInterval(function() {
                // 自动换图代码
                changePic();
    
                // 改变index值
                index++;
    
                if (index == 5) {
                    index = 0;
                }
            }, 1000)
        })();
    
    
        // 找到所有的图片
    
        var pics = $(".bg li");
    
        // 找到所有的小圆点
    
        var lis = $(".list li");
    
        // 提取公共的换图方法
        function changePic() {
            // 控制li的class实现换图
            pics.eq(index).addClass("current").siblings().removeClass("current"); // 给当前的元素添加class并移除兄弟元素的class
    
            // 控制小圆点颜色变化
            lis.eq(index).addClass("current").siblings().removeClass("current");
        }
    
        // 点击小圆点换图
        lis.click(function() {
    
            // 改变index的值
            index = $(this).index(); //this代表当前每一个li元素
            // F12查看日志,查看索引是否正确
            // console.log(index);
            //调用函数
            changePic();
    
        })
        // 点击左右箭头换图
        $(".left").click(function() {
            // 点击左侧箭头
            index--;
            if (index == -1) {
                index = 5;
            }
            changePic();
        })
    
        $(".right").click(function() {
            // 点击右侧箭头
            index++;
            if (index == 6) {
                index = 0;
            }
            changePic();
        })
    })

      

  • 相关阅读:
    LeetCode 1110. Delete Nodes And Return Forest
    LeetCode 473. Matchsticks to Square
    LeetCode 886. Possible Bipartition
    LeetCode 737. Sentence Similarity II
    LeetCode 734. Sentence Similarity
    LeetCode 491. Increasing Subsequences
    LeetCode 1020. Number of Enclaves
    LeetCode 531. Lonely Pixel I
    LeetCode 1091. Shortest Path in Binary Matrix
    LeetCode 590. N-ary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/9513997.html
Copyright © 2011-2022 走看看