使用jquery实现轮播图效果

今天给大家分享的是利用jquery实现轮播图的效果,废话不多说咯,直接上代码,当然每行代码会有注释了,这样也便于理解哦~

html样式
css样式
js样式

第一步:先引进jquery文件

<script src="./jquery.js"></script>

第二步:html样式

<div id="banner">
        
        <ul id="banner_img">
            <li>
                <img src="./img/1.jpg" alt="">
            li>
            <li>
                <img src="./img/2.jpg" alt="">
            li>
            <li>
                <img src="./img/3.jpg" alt="">
            li>
            <li>
                <img src="./img/4.jpg" alt="">
            li>
        ul>
        
        <ul id="banner_yuandian">
            <li class="active">1li>
            <li>2li>
            <li>3li>
            <li>4li>
        ul>
        
        <button id="banner_back"><button>
        <button id="banner_next">>button>
    div>

回到顶部

第三步:css样式

回到顶部

第四步:js样式
<script>
        
        //设置图片,圆点,箭头共同的下标 从0开始
        var index=0;

        //封装轮播的函数 第一步
        function show(){
     
            //下标每次+1增加
            index+=1;
            //如果下标大于等于图片的长度数,返回第一张图,即是下标index=0就行
            if(index>=$("#banner_img>li").length){
     
                index=0;
            }

            //让li的每张图片点击时显示自己,其他兄弟隐藏
            $("#banner_img>li").eq(index).show(1000).siblings().hide(1000);
            //圆点的下标也需要封装一下样式
            $("#banner_yuandian>li").eq(index).addClass("active").siblings().removeClass("active");
       
        }

        //利用计时器达到轮播效果  第二步
        var x=setInterval(show,2000);

        //鼠标移动到图片上时清除计时器,移出之后重新加入计时器
        $("#banner_img>li").hover(
            function(){
     
                clearInterval(x);
            },
            function(){
     
                x=setInterval(show,2000);
            }
        )


        //圆点设置,点击圆点,切换相应图片 第三步
        $("#banner_yuandian>li").on("click",function(){
     
            //点击圆点时的下标取共同下标
            var index=$(this).index();//出错的地方index()语法

            //点击下标时展现对应的图片,其他兄弟图隐藏
            $("#banner_img>li").eq(index).show(1000).siblings().hide(1000);
            //点击圆点,添加样式,其他删除
            $("#banner_yuandian>li").eq(index).addClass("active").siblings().removeClass("active");
       
        })

        //鼠标滑动上去滑动出来要清除计时器和再次设置计时器   第四步
        $("#banner_yuandian>li").hover(
            function(){
     
                clearInterval(x);
            },
            function(){
     
                x=setInterval(show,2000);
            }
        )
            

        //箭头设置  第五步
       
        $("#banner_back").on("click",function(){
     
           //点击一次减去1
            index--;
            //当下标小于0时,就返回第一张图
            if(index<0){
     
                index=0;
            }

            
            //点击下标时展现对应的图片,其他兄弟图隐藏 
            $("#banner_img>li").eq(index).show(1000).siblings().hide(1000);
            //点击圆点,添加样式,其他删除
            $("#banner_yuandian>li").eq(index).addClass("active").siblings().removeClass("active");

        })
        //下一张 可以直接调用
        $("#banner_next").on("click",function(){
     
            show();
        })

        //点击button按钮再次清除计时器和添加计时器
        $("button").hover(
            function(){
     
                clearInterval(x);
            },
            function(){
     
                x=setInterval(show,2000);
            }
        )

回到顶部

你可能感兴趣的:(javascript)