使用jquery来完成简单轮播

本文详细介绍如何使用jQuery实现一个带有导航按钮和指示点的图片轮播效果,包括HTML结构、CSS样式和JavaScript代码,实现了自动轮播和手动切换功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用jquery来完成简单轮播

//html结构
<div id="container">
        <ul class="pic">
            <li><a href="javascript:;"><img src="http://pic37.nipic.com/20140113/8800276_184927469000_2.png" alt="pic1"></a></li>
            <li><a href="javascript:;"><img src="http://pic.58pic.com/58pic/13/82/74/92q58PICeSI_1024.jpg" alt="pic2"></a></li>
            <li><a href="javascript:;"><img src="http://pic31.nipic.com/20130801/11604791_100539834000_2.jpg" alt="pic3"></a></li>
        </ul>
        <ul id="position">
            <li class="cur"></li>
            <li class=""></li>
            <li class=""></li>
        </ul>
        <a href="javascript:;" id="prev" class="arrow">&lt;</a>
        <a href="javascript:;" id="next" class="arrow">&gt;</a>
    </div>

  

## css
//样式可以自己更改为自己所需要的代码样式
*{ 
             margin: 0;
             padding: 0; 
             text-decoration: none;
         }
        ul{
            list-style: none;
        }
        #container{
            position: relative;
            width: 400px;
            height: 200px;
            margin: 20px auto;
        }
        
        .pic li {
            position: absolute;
            top: 0;
            left: 0;
            display: none;
        }
        .pic li img {
            width: 400px;
            height: 200px;
        }
        #position{
            position: absolute;
            bottom: 0;
            right:0;
            margin: 0;
            background: #000;
            opacity: 0.4;
            width: 400px;
            text-align: center;
        }
        #position li{
            width: 10px;
            height: 10px;
            margin:0 2px;
            display: inline-block;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            background-color: #afafaf;
        }
        #position .cur{
            background-color: #ff0000;
        }
         .arrow { 
             cursor: pointer;
              display: none; 
              line-height: 39px; 
              text-align: center; 
              font-size: 36px; 
              font-weight: bold; 
              width: 40px; 
              height: 40px;  
              position: absolute; 
              z-index: 2; 
              top: 50%;
              margin-top: -20px; /*width的一半*/
              background-color: RGBA(0,0,0,.3); 
              color: #fff;
          }
        .arrow:hover { 
            background-color: RGBA(0,0,0,.7);
        }
        #container:hover .arrow { 
            display: block;
        }
        #prev { 
            left: 20px;
        }
        #next { 
            right: 20px;
        }


```javascript
//引入jq
<script src="https://cdn.staticfile.org/jquery/2.2.4/jquery.min.js"></script>
$(function(){
            //第一张显示
            $(".pic li").eq(0).show();
            //鼠标滑过手动切换,淡入淡出
            $("#position li").mouseover(function() {
                $(this).addClass('cur').siblings().removeClass("cur");
                var index = $(this).index();
                i = index;//不加这句有个bug,鼠标移出小圆点后,自动轮播不是小圆点的后一个
                // $(".pic li").eq(index).show().siblings().hide();
                $(".pic li").eq(index).fadeIn(500).siblings().fadeOut(500);
            });
            //自动轮播
            var i=0;
            var timer=setInterval(play,2000);
            //向右切换
            var play=function(){
                i++;
                i = i > 2 ? 0 : i ;
                $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
                $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
            }
            //向左切换
            var playLeft=function(){
                i--;
                i = i < 0 ? 2 : i ;
                $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
                $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
            }
            //鼠标移入移出效果
            $("#container").hover(function() {
                clearInterval(timer);
            }, function() {
                timer=setInterval(play,2000);
            });
            //左右点击切换
            $("#prev").click(function(){
                playLeft();
            })
            $("#next").click(function(){
                play();
            })
        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值