jQuery轮播图 - 呼吸式 -

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- CSS部分 -->
    <style type="text/css">
        *{
            padding:0;
            margin:0;
            list-style: none;
            text-decoration: none;
        }
        .carousel{
            width: 900px;
            height: 540px;
            margin:50px auto;
            position: relative;
        }
        .carousel .imgList li{
            width: 900px;
            height:540px;
            position: absolute;
            top: 0;
            left: 0;
            display: none;
        }
        .carousel .imgList li:first-child{
            display: block;
        }
        .carousel .btns a{
            width: 30px;
            height: 70px;
            position: absolute;
            top:50%;
            margin-top: -30px;
            color:#fff;
            background-color: rgba(0,0,0,1);
            text-align: center;
        }
        .carousel .btns a.leftBtn{
            left:10px;
        }
        .carousel .btns a.rightBtn{
            right:10px;
        }
        .carousel .circles{
            width: 120px;
            height: 20px;
            position: absolute;
            bottom: 30px;
            left:50%;
            margin-left: -60px;
        }
        .carousel .circles ol li{
            float: left;
            width: 20px;
            height: 20px;
            margin: 0px 5px;
            background-color: #000;
            color:#fff;
            text-align: center;
        }
        .carousel .circles ol li.cur{
            background-color: yellow;
            color:#000;
        }
    </style>
</head>
<body>
    <!-- HTML部分 -->
    <div class="carousel" id="carousel">
        <div class="imgList" id="imgList">
            <ul>
                <li>
                    <a href="javascript:void(0);">
                        <img src="http://iph.href.lu/900x540?text=slider_01" alt="">
                    </a>
                </li>
                <li>
                    <a href="javascript:void(0);">
                        <img src="http://iph.href.lu/900x540?text=slider_02" alt="">
                    </a>
                </li>
                <li>
                    <a href="javascript:void(0);">
                        <img src="http://iph.href.lu/900x540?text=slider_03" alt="">
                    </a>
                </li>
                <li>
                    <a href="javascript:void(0);">
                        <img src="http://iph.href.lu/900x540?text=slider_04" alt="">
                    </a>
                </li>
            </ul>
        </div>
        <div class="btns">
            <a href="javascript:void(0);" class="leftBtn" id="leftBtn">上一页</a>
            <a href="javascript:void(0);" class="rightBtn" id="rightBtn">下一页</a>
        </div>
        <div class="circles" id="circles">
            <ol>
                <li class="cur">1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
            </ol>
        </div>
    </div>
    <!-- JS部分 -->
    <script type="text/javascript" src ="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
    <script type="text/javascript">
        // 获取元素
        var $carousel = $("#carousel");
        var $imgLists = $("#imgList ul li");
        var $leftBtn = $("#leftBtn");
        var $rightBtn = $("#rightBtn");
        var $circles = $("#circles ol li");
        var amount = $imgLists.length;


        // 定时器
        var timer = setInterval(rightFun, 2000);
        // 鼠标进入大盒子关闭定时器
        $carousel.mouseenter(function(){
            clearInterval(timer);
        });
        // 鼠标离开重新开启定时器
        $carousel.mouseleave(function(){
            // 设表先关
            clearInterval(timer);
            timer = setInterval(rightFun, 2000);
        });


        // 信号量
        var index = 0;
        // 右按钮的点击事件
        $rightBtn.click(rightFun);
        // 右按钮的声明
        function rightFun(){
            // 防流氓
            if($imgLists.is(":animated")){
                return;
            }
            // 老图淡出
            $imgLists.eq(index).fadeOut(500);

            // 信号量改变
            index ++;
            // 后验证
            if(index > amount - 1){
                index = 0;
            }

            // 新图淡入
            $imgLists.eq(index).fadeIn(500);
            // 小圆点改变
            $circles.eq(index).addClass("cur").siblings().removeClass("cur");
        }



        // 左按钮点击事件
        $leftBtn.click(function(){
            // 当图片不运动时,执行内部函数
            if(!$imgLists.is(":animated")){
                // 老图淡出
                $imgLists.eq(index).fadeOut(500);
                // 信号量改变
                index --;
                if(index < 0){
                    index = amount - 1;
                }
                // 新图淡入
                $imgLists.eq(index).fadeIn(500);
                // 小圆点改变
                $circles.eq(index).addClass("cur").siblings().removeClass("cur");
            }
        });

        // 小圆点的事件
        $circles.mouseenter(function(){
            // 老图淡出
            $imgLists.eq(index).stop(true).fadeOut(500);
            // 信号量改变
            index = $(this).index();
            // 新图淡入
            $imgLists.eq(index).stop(true).fadeIn(500);
            // 小圆点改变
            $(this).addClass("cur").siblings().removeClass("cur");
        });



    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值