当前位置:首页 » 《资源分享》 » 正文

使用jQuery实现淡入淡出式轮播_Txqmohuan的博客

17 人参与  2021年09月19日 08:43  分类 : 《资源分享》  评论

点击全文阅读


首先把基本页面做好

html代码如下:

<div id = 'banner'>
        <div id="carousel">
            <img src="../img/1.jpg" alt="" style="display: block;">
            <img src="../img/2.jpg" alt="">
            <img src="../img/3.jpg" alt="">
            <img src="../img/4.jpg" alt="">
            <img src="../img/5.jpg" alt="">
        </div>
    
        <div id="left">&lt;</div>
        <div id="right">&gt;</div>
    
        <ul class="slide-nav">
            <li class="on"></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
</div>

其中类名和id自己随意取,你这里只需要把图片路径改一下就好了。
以下是css代码:

*{
            margin: 0;
            padding: 0;
        }
        ul li{
            list-style: none;
        }
        #banner{
            width: 590px;
            height: 470px;
            border: groove 2px;
            margin: 50px auto;
            position: relative;
        }
        #carousel{
            width: 100%;
            height: 100%;
        }
        #carousel img{
            position: absolute;
            display: none;
        }
        #left,#right{
            padding: 10px 6px;
            background-color: black;
            color: white;
            position: absolute;
            top:50%;
            cursor: pointer;
        }
        #right{
            right: 0;
        }
        .slide-nav{
            width: 200px;
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
        }
        .slide-nav li{
            width: 20px;
            height: 20px;
            background-color: white;
            float: left;
            margin-right: 5px;
            border-radius: 50%;
            cursor: pointer;
        }
        .slide-nav li.on{
            background-color: red;
        }

好了进入今天主题,前面废话有点多了哈。
话不多说,jQuery代码如下:
(首先引入jQuery)

 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>

推荐大家一个:BootCDN
BootCDN 是 猫云 联合 Bootstrap 中文网 共同支持并维护的前端开源项目免费 CDN 服务
我就是从这里引入的jQuery
以下是正式代码:

//获取所有图片
        var img = $("img")
        var len = $("img").length
        var lis = $(".slide-nav li")
        
        // 设置截流变量,防止点击过快问题
        let isMove = true
        //设置当前索引currentIndex,下个索引 nextIndex
        let currentIndex = 0 , nextIndex = 1;
        // 轮播函数
        function move(){
            if(isMove){
                isMove = false
                img.eq(currentIndex).fadeOut(1000,function(){
                    // 淡出结束后把isMove变回true
                    isMove = true
                });
                img.eq(nextIndex).fadeIn(1000,function(){
                    // 淡入结束后把isMove变回true
                   isMove = true
                });
                $('li').eq(nextIndex).addClass('on').siblings().removeClass('on')
                currentIndex = nextIndex
                nextIndex += 1
                if(nextIndex >= len) {
                    nextIndex = 0
                }
            }
        }
        // 全局标记
        let timer
        // 设置轮播
        function auto() {
            timer = setInterval(move,3000)
        }
        // 启动轮播
        auto()
        // 鼠标移入/移出暂停/继续轮播
        $('#banner').hover(function () {
            clearInterval(timer)
        },function(){
            auto()
        })
        // 点击箭头效果
        $("#right").click(function(){
            move()
        })
           
        $("#left").click(function(){
            nextIndex = currentIndex - 1
            if(nextIndex < 0){
                nextIndex = len -1
            }
            move()
        })
        // 小圆点效果
        lis.click(function(){
            nextIndex = $(this).index()
            move()
        })

因为jQuery有个队列问题,就是连续点击同个事件,当点击的事件
未完成时,再点击该事件时,后一个事件就会排在前一个事件后面
按顺序执行,所以在该案例中,如果你快速的点击切换按钮(包括
小圆点),所以我设置了isMove作为一个变量,解决这个队列问题。
就是当执行淡入淡出事件时,isMove变为false,当执行淡入淡出事
件完毕后,isMove再变为true,这样当你点击过快时,当次的淡入淡
出还没完毕是不会执行下一次的淡入淡出事件的。
emmm…第一次写博客感觉自己废话多了点,嘿嘿,希望我的博客对
你们有点帮助,嘿嘿!拜拜下次见!!!


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/28114.html

淡入  事件  点击  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 全书浏览无端却被春风误完结爽文(孟南汐宋祁钰)_无端却被春风误完结爽文(孟南汐宋祁钰)全书结局
  • [结婚七年,老婆一直守身如玉]完结版全文_周寒声顾州免费试读
  • 全文无端却被春风误全书+后续(孟南汐宋祁钰)_(全文无端却被春风误全书+后续)孟南汐宋祁钰列表(全文无端却被春风误全书+后续)
  • 此去经年人未还霍沉洲全书+结局沈青禾霍沉洲_此去经年人未还霍沉洲全书+结局列表_笔趣阁沈青禾霍沉洲
  • 皇帝决定选择穿越女后,皇后娘娘登基了孟承霄穆清越沈织桐完本_皇帝决定选择穿越女后,皇后娘娘登基了(孟承霄穆清越沈织桐)
  • 无端却被春风误全面完结列表_无端却被春风误全面完结(孟南汐宋祁钰)
  • 潮起时问归期江以蓁陆临深完本_潮起时问归期(江以蓁陆临深)
  • 全书浏览陪嫁五百亿,不嫁港圈嫁京圈+后续+结局(封清凝闻谦白静姝)_陪嫁五百亿,不嫁港圈嫁京圈+后续+结局(封清凝闻谦白静姝)全书结局
  • 潮起时问归期爆火全网(江以蓁陆临深)_潮起时问归期爆火全网
  • [愿我如星君如月,夜夜流光却别离]小说节选推荐_[李承泽沈茵小姐]节选试读
  • 他站在回忆尽头沈辞安+整本(乔若兮沈辞安)全书浏览_他站在回忆尽头沈辞安+整本全书浏览
  • 全文无端却被春风误全书+后续+结局(孟南汐宋祁钰)列表_全文无端却被春风误全书+后续+结局

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1