轮播图 左右点击及底部小圆点

9 篇文章 0 订阅

最近pc项目有两处一样的轮播图  有左右点击按钮及底部小圆点

接下来 代码奉上:

css的写法,可以让子元素根据父元素定位,让它们定位在同一位置,再给子元素根据顺序加上z-index值,第一个最大,一次减小;

左右两侧点击按钮直接根据父元素定位,z-index值最大;


js代码如下:

// 轮播图
const Banner = function () {
    const left = $('#clickLeft')
    const right = $('#clickRight')
    var items = $('#banner .cost-item');
    var points =  $('#clickPoint').children();

    Move(left,right,items,points)
}
const BannerMuch = function () {
    const left = $('#MuchLeft')
    const right = $('#MuchRight')
    var items = $('.use-box .hist');
    var points =  $('#MuchPoint').children();

    Move(left,right,items,points)
}
function Move(left,right,items,dots) {
    var index = 0;
    var str = 0;
    var len = items.length;
    //点击左侧按钮的函数
    left.click(function(){
        $(dots).removeClass("check-point");
        if(str === 0){
            $(items[str]).fadeOut(300);
            str = len-1;
            $(items[str]).fadeIn(300);
            $(dots[str]).addClass("check-point");
            index = str;

        }else{
            $(items[str]).fadeOut(300);
            str --;
            $(items[str]).fadeIn(300);
            $(dots[str]).addClass("check-point");
            index = str;
        }
    });
    //点击右侧按钮的函数
    right.click(function(){
        $(dots).removeClass("check-point");
        if(str === len-1){
            $(items[str]).fadeOut(300);
            str = 0;
            $(items[str]).fadeIn(300);
            $(dots[str]).addClass("check-point");
            index = str;
        }else{
            $(items[str]).fadeOut(300);
            str ++;
            $(items[str]).fadeIn(300);
            $(dots[str]).addClass("check-point");
            index = str;
        }
    })
}
Banner()
BannerMuch()

我这个是底部小圆点不带点击效果的 ,如果想要小圆点也要点击效果的话那可以参照下面的代码:

//小圆点
                $(".dot span").click(function(){
                    var num = $(this).index();
                    $(dots).removeClass("active");
                    $(dots[num]).addClass("active");
                    $(items).fadeOut(1500);
                    $(items[num]).fadeIn(1500);
                    index = num;
                })



ok啦  代码分享完毕,希望可以帮助到各位小可耐们

以下是一个简单的图片轮播底部小圆点轮播的示例代码: HTML: ```html <div class="slider"> <div class="slider-container"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> <div class="slider-dots"></div> </div> ``` CSS: ```css .slider { position: relative; width: 100%; overflow: hidden; } .slider-container { position: relative; width: 300%; left: 0; transition: left 0.5s ease-in-out; } .slider-container img { width: 33.333%; float: left; } .slider-dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: flex; } .slider-dot { width: 10px; height: 10px; margin-right: 10px; border-radius: 50%; background-color: gray; cursor: pointer; } .slider-dot.active { background-color: black; } ``` JavaScript: ```javascript var sliderContainer = document.querySelector('.slider-container'); var sliderDots = document.querySelector('.slider-dots'); var sliderDot = document.querySelectorAll('.slider-dot'); var currentSlide = 0; var slideInterval = setInterval(nextSlide, 3000); function nextSlide() { currentSlide = (currentSlide + 1) % sliderDot.length; sliderContainer.style.left = "-" + currentSlide + "00%"; updateSliderDots(); } function updateSliderDots() { for (var i = 0; i < sliderDot.length; i++) { sliderDot[i].classList.remove('active'); } sliderDot[currentSlide].classList.add('active'); } for (var i = 0; i < sliderDot.length; i++) { sliderDot[i].addEventListener('click', function() { currentSlide = Array.prototype.indexOf.call(sliderDots.children, this); sliderContainer.style.left = "-" + currentSlide + "00%"; updateSliderDots(); clearInterval(slideInterval); slideInterval = setInterval(nextSlide, 3000); }); } ``` 这段代码实现了一个无限循环的图片轮播,并在底部添加了小圆点点击小圆点可以切换到对应的图片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值