超简单 前端JS经典轮播图 包括鼠标移入暂停。

 

废话不多说 直接上代码

 <!-- 轮播图开始 -->
    <div id="banner">
        <ul class="imgs">
            <li><img src="images/1.jpg" alt=""></li>
            <li><img src="images/2.jpg" alt=""></li>
            <li><img src="images/3.jpg" alt=""></li>
        </ul>
        <div style="position: relative;">
            <ul class="anniu">
                <li class="active"></li>
                <li></li>
                <li></li>
            </ul>
        </div>
        <div style="position: relative;">
            <div class="leftt"><button class="iconfont">&#xe600;</button></div>
            <div class="right"><button class="iconfont">&#xe630;</button></div>
        </div>
    </div>
    <!-- 轮播图结束 -->

CSS部分

#banner {
    max-width: 1436px;
    min-width: 1436px;
    overflow: hidden;
    margin: 30px auto;
    position: relative;
    height: 600px;
    
}

.imgs {
    width: 6600px;
    margin-top: 20px;
}

.imgs li {
    float: left;
}

.imgs li img {
    width: 1436px;
    height: 600px;
    
}

/* 小点点 */
.anniu li {
    width: 12px;
    height: 12px;
    float: left;
    margin-right: 8px;
    border-radius: 50%;
    cursor: pointer;
    border: 1px solid #fff;
}

.anniu {
    position: absolute;
    left: 47%;
    top: 530px;
}

.active {
    background: orange;
}
.leftt{
    position: absolute;
    top:225px;
    left: 20px;
}
.right{
    position: absolute;
    top: 225px;
    left: 1316px;
}
.leftt button,.right button{
    width: 100px;
    height: 100px;
    border-radius: 50%;
    opacity: 0.2;
    border: none;
   
}

 JS部分  本人使用的是文件引入方式

$(function () {
    var a = 2000;
    var b = 0;
    var c = $(".imgs li").length;
    var PD = true;
    var y;
    function K(){
        b++;
        if (b >= c) {
            b = 0;
            $(".imgs").animate({ "margin-right": d }, 200);//过渡时间
        }
        var d = b * (-1436) + "px";
        $(".imgs").animate({ "margin-left": d }, 200);//过渡时间
        dian()
    }
    lunbo()
    function lunbo(){

    y= setInterval(function () {
        if (PD) {
            PD = false; 
            K()
            PD = true;
        }
           
    }, a);
}
    function dian() {
        if (b >= c) {
            b = 0;
        }
        $(".anniu li").eq(b).addClass("active").siblings("li").removeClass("active");
    }
    $(".anniu li").click(function () {
        PD = false
        var num = $(this).index();
        b = num;
        if (b >= c) {
            b = 0;
        }
        dian()
        var e = b * (-1436) + "px";
        $(".imgs").animate({ "margin-left": e }, 200);

    })
    $(".leftt").click(function () {
        // PD = false
        b--;
        if (b < 0) {
            b = c - 1;
        }
        var e = b * (-1436) + "px";
        $(".imgs").animate({ "margin-left": e }, 200);
        dian();
        
    })
    $(".right").click(function () {
        // PD = false
        b++;
        if (b >= c) {
            b = 0;
        }
        var e = b * (-1436) + "px";
        $(".imgs").animate({ "margin-left": e }, 200);
        dian();
       
    })

    $("#banner").mouseover(function () {
        $(".leftt button,.right button").css("opacity", 0.8).stop();
        clearInterval(y);
       
    })
    $("#banner").mouseout(function () {
        $(".leftt button,.right button").css("opacity", 0.2).stop();
        lunbo();
     
    })
    
})
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 CSS 和 JavaScript 实现前端片横向滚动,鼠标暂停的效果,以下是一个简单的实现方式: HTML 结构: ```html <div class="scroll-wrapper"> <ul class="scroll-list"> <li><img src="image1.jpg"></li> <li><img src="image2.jpg"></li> <li><img src="image3.jpg"></li> <li><img src="image4.jpg"></li> <li><img src="image5.jpg"></li> </ul> </div> ``` CSS 样式: ```css .scroll-wrapper { width: 100%; overflow-x: scroll; white-space: nowrap; position: relative; } .scroll-list { display: inline-block; position: relative; } .scroll-list li { display: inline-block; margin-right: 20px; } .scroll-list li:last-child { margin-right: 0; } ``` JavaScript 代码: ```javascript var scrollWrapper = document.querySelector('.scroll-wrapper'); var scrollList = document.querySelector('.scroll-list'); var isPaused = false; // 鼠标暂停滚动 scrollWrapper.addEventListener('mouseenter', function() { isPaused = true; }); // 鼠标出重新开始滚动 scrollWrapper.addEventListener('mouseleave', function() { isPaused = false; }); function scroll() { if (isPaused) { return; } // 每 10 毫秒滚动 1 像素 scrollWrapper.scrollLeft += 1; if (scrollWrapper.scrollLeft >= scrollList.offsetWidth - scrollWrapper.offsetWidth) { scrollWrapper.scrollLeft = 0; } requestAnimationFrame(scroll); } // 开始滚动 scroll(); ``` 上述代码中,我们使用了 CSS 的 `white-space: nowrap` 属性,使得 `.scroll-list` 中的 `li` 元素不换行,从而实现横向排列。然后使用 JavaScript 控制滚动,每 10 毫秒滚动 1 像素,直到滚动到最后一个元素时,将滚动位置重置为 0,继续滚动。鼠标时,设置一个 `isPaused` 标志位,使得滚动停止;鼠标出时,将 `isPaused` 标志位设置为 `false`,重新开始滚动。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值