前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用javascript实现轮播图淡入淡出效果

用javascript实现轮播图淡入淡出效果

作者头像
不爱吃糖的程序媛
发布2024-01-18 19:57:36
1450
发布2024-01-18 19:57:36
举报
文章被收录于专栏:夏天的前端笔记

本篇实现的是轮播图淡入淡出的效果,思路是利用图片的层级替换实现的,运用了屏幕的自适应属性。

1.HTML代码

代码语言:javascript
复制
 <div class="swiper-container">
            <div class="swiper-wrapper">
                <img src="../image/1.jpg" alt="">
                <img src="../image/2.jpg" alt="">
                <img src="../image/3.jpg" alt="">
                <img src="../image/4.jpg" alt="">
                <img src="../image/5.jpg" alt="">
            </div>
        </div>

2.css代码

代码语言:javascript
复制
.swiper-container{
    position: relative;
}
.swiper-wrapper{
    position: absolute;
}
.swiper-wrapper img{
    display:block;
    position: absolute;
}

3.js代码

代码语言:javascript
复制
window.onload=function(){
    let swiperContainer = document.getElementsByClassName('swiper-container')[0];    
    let wrap=document.getElementsByClassName("swiper-wrapper")[0];  
    let wrapImg = document.getElementsByClassName("swiper-wrapper")[0].getElementsByTagName('img')
 //获取屏幕的宽度
    let windowWidth = window.screen.width;
    let wrapImgLeng = wrapImg.length;
    let timer=null;
    let index = -1;
//屏幕宽度
    for(let i = 0 ;i < wrapImgLeng;i++){
          wrapImg[i].style.width = windowWidth +'px'
      }
//淡入淡出效果,用的是层级的一个循环
    function swiper(){
        clearInterval(timer);
        opacity=1;
        if(++index == wrapImgLeng){
            index=0;
        }
        for(let i=0;i<wrapImgLeng;i++){
            wrapImg[i].style.opacity=1;
            if(index!=i){
                wrapImg[i].style.zIndex=1;
            }
        }
        timer=setInterval(function(){
            if(opacity<=0){
                clearInterval(timer);
                setTimeout(function(){
                    swiper();
                },3000);
            }
            opacity -=0.01;
            console.log(index)
            wrapImg[index].style.zIndex=3;
            wrapImg[index].style.opacity=opacity;
            if(index == wrapImgLeng -1){
                wrapImg[0].style.zIndex=2;
            }else{
                wrapImg[index+1].style.zIndex=2;
            }
        },30);
    }
swiper();
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档