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

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

0 人参与  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