iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js如何实现轮播图之渐隐渐现版
  • 198
分享到

js如何实现轮播图之渐隐渐现版

2024-04-02 19:04:59 198人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关js如何实现轮播图之渐隐渐现版,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体代码如下:<!DOCTYPE html>

这篇文章将为大家详细讲解有关js如何实现轮播图之渐隐渐现版,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    *{
      margin:0;
      padding:0;
      font-size:14px;
      -WEBkit-user-select:none;
    }
    ul,li{
      list-style
    }
    img{
      display: block;
      border:none;
    }
    .banner{
      position:relative;
      width:1000px;
      height:300px;
      margin:0 auto;
      overflow:hidden;
    }
    .banner .bannerInner{
      width:100%;
      height:100%;
      background:url("../img/default.gif") no-repeat center center #e1e1e1;
    }
    .banner .bannerInner div{
      position:absolute;
      width:100%;
      height:100%;
      top:0;
      left:0;
      z-index:0;
      opacity:0;
      filter:alpha(opacity=0);
    }
    .banner .bannerInner img{
      display:none;
      width:100%;
      height:100%s;
    }

    .banner .bannerTip{
      position:absolute;
      height:18px;
      overflow:hidden;
      right:20px;
      bottom:20px;
      z-index:10;
    }
    .banner .bannerTip li{
      float:left;
      margin-left:10px;
      width:18px;
      height:18px;
      background:lightblue;
      cursor:pointer;
      border-radius:50%;
    }
    .banner .bannerTip li.bg{
      background:red;
    }

    .banner a{
      display:none;
      position:absolute;
      top:50%;
      z-index:20;
      margin-top:-22.5px;
      width:30px;
      height:45px;
      background:url("../img/pre.png");
      opacity:0.5;
      filter:alpha(opacity=50);
    }
    .banner a:hover{
      opacity:1;
      filter:alpha(opacity=100);
    }
    .banner a.bannerLeft{
      left:20px;
      background-position:0 0;
    }
    .banner a.bannerRight{
      right:20px;
      background-position:-50px 0;
    }
  </style>
</head>
<body>
  <div class='banner' id='banner'>
    <div class='bannerInner'>
      <div><img src="" alt="" trueImg="img/banner1.jpg"></div>
      <div><img src="" alt="" trueImg="img/banner2.jpg"></div>
      <div><img src="" alt="" trueImg="img/banner3.jpg"></div>
      <div><img src="" alt="" trueImg="img/banner4.jpg"></div>
    </div>
    <ul class='bannerTip'>
      <li class='bg'></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    <a href="javascript:;" rel="external nofollow" rel="external nofollow" class='bannerLeft'></a>
    <a href="javascript:;" rel="external nofollow" rel="external nofollow" class='bannerRight'></a>
  </div>

  <script>
    var banner = document.getElementById('banner');
    var bannerInner = utils.firstChild(banner),bannerTip = utils.children(banner,"ul")[0],bannerLink = utils.children(banner,'a'),bannerLeft = bannerLink[0],bannerRight = bannerLink[1];
    var divList = bannerInner.getElementsByTagName('div');
    var imgList = bannerInner.getElementsByTagName('img');
    var oLis = bannerTip.getElementsByTagName('li');
    //1、ajax读取数据
    var JSONData = null;
    ~function(){
      var xhr = new XMLHttpRequest;
      xhr.open("get","json/banner.txt?_="+Math.random(),false);
      xhr.onreadystatechange = function(){
        if(xhr.readyState ===4 && /^2\d{2}$/.test(xhr.status)){
          jsonData = utils.fORMatJSON(xhr.responseText)
        }
      }
      xhr.send(null)
    }()
    //2、数据绑定
    ~function(){
      var str = "",str2 = "";
      if(jsonData){
        for(var i = 0,len=jsonData.length;i<len;i++){
          var curData = jsonData[i];
          str+='<div><img src="" alt="" trueImg="'+curData['img']+'"></div>';
          i===0?str2+="<li class='bg'></li>":str2+="<li></li>"
        }
      }
      bannerInner.innerHTMl = str;
      bannerTip.innerHTML = str2;
    }()

    //3、图片的延迟加载
    window.setTimeout(lazyImg,500)
    function lazyImg(){
      for(var i = 0,len = imgList.length;i<len;i++){
        ~function(i){
          var curImg = imgList[i];
          var oImg = new Image;
          oImg.src = curImg.getAttribute('trueImg');
          oImg.onload = function(){
            curImg.src = this.src;
            curImg.style.display = block;
            //只对第一张处理
            if(i===0){
              var curDiv = curImg.parentnode;
              curDiv.style.zIndex = 1;
              myAnimate(curDiv,{opacity:1},200);
            }
            oImg = null;
          }
        }(i)
      }
    }
    //4、自动轮播
    var interval = 3000,autoTimer = null,step = 0;
    autoTimer = window.setInterval(autoMove,interval);
    function autoMove(){
      //当已经把最后一张展示完成后(step等于最后一张的索引),我们应该展示第一张,我们让step = -1,这样再经过一次累加,step就变为0,来展示第一张
      if(step === jsonData.length-1){
        step = -1
      }
      step++;
      setBanner();
    }
    //实现轮播图切换效果的代码
    function setBanner(){
      //1、让step索引对应的那个DIV的zIndex的值为1,其他的zIndex为0 
      for(var i = 0,len = divList.length;i<len;i++){
        var curDiv = divList[i];
        if(i===step){
          utils.CSS(curDiv,"zIndex",1)
          //2、让当前的透明度从0变为1,当动画结束,我们需要让其他的div的透明度的值直接变为0
          myAnimate(curDiv,{opacity:1},200,function(){
            var curDivSib = utils.siblings(this);
            for(var k = 0,len = curDivSib.length;k<len;k++){
              utils.css(curDivSib[k],'opacity',0)
            }

          })
          continue
        }
        utils.css(curDiv,"zIndex",0)
      }
      //实现焦点对其
      for(i = 0,len = oLis.length;i<len;i++){
        var curLi = oLis[i];
        i === step?utils.addClass(curLi,"bg"):utils.removeClass(curLi,"bg");
      }

    }
    //5、实现鼠标悬停停止自动轮播和离开在开启自动轮播
    banner.onmouseover = function(){
      window.clearInterval(autoTimer);
      bannerLeft.style.display = bannerRight.style.display = "block"

    }
    banner.onmouseout = function(){
      autoTimer = window.setInterval(autoMove,interval);
      bannerLeft.style.display = bannerRight.style.display = "none"
    }
    //6、实现点击焦点切换
    ~function(){
      for(var i = 0,len = oLis.length;i<len;i++){
        var curLi = oLis[i];
        curLi.index = i;
        curLi.onclick = function(){
          step = this.index;
          setBanner();
        }
      }
    }()
    //7、实现左右切换
    bannerRight.onclick = autoMove;
    bannerLeft.onclick = function(){
      if(step === 0){
        step = jsonData.length;
      }
      step--;
      setBanner();
    }
  </script>
</body>
</html>

关于“js如何实现轮播图之渐隐渐现版”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: js如何实现轮播图之渐隐渐现版

本文链接: https://www.lsjlt.com/news/79952.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js如何实现轮播图之渐隐渐现版
    这篇文章将为大家详细讲解有关js如何实现轮播图之渐隐渐现版,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体代码如下:<!DOCTYPE html>...
    99+
    2024-04-02
  • CSS如何实现图片渐隐消
    这篇文章主要介绍了CSS如何实现图片渐隐消的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS如何实现图片渐隐消文章都会有所收获,下面我们一起来看看吧。在过往,我们想要实现一个图片的渐隐消失。最常见的莫过于整体...
    99+
    2023-07-05
  • css如何实现图片的渐渐隐藏效果
    这篇文章主要讲解了“css如何实现图片的渐渐隐藏效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css如何实现图片的渐渐隐藏效果”吧! ...
    99+
    2024-04-02
  • JS如何实现轮播图
    本篇内容介绍了“JS如何实现轮播图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现功能:自动轮播:鼠标停留在轮播图上时不切换图片,鼠标离开...
    99+
    2023-06-29
  • jquery如何实现div渐隐效果
    这篇文章主要介绍了jquery如何实现div渐隐效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jquery如何实现div渐隐效果文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • 如何用js实现简单轮播图
    这篇文章主要介绍“如何用js实现简单轮播图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用js实现简单轮播图”文章能帮助大家解决问题。1.实现功能:2.实现思路:(1)鼠标放到图片上,显示箭头,...
    99+
    2023-07-02
  • 纯js如何实现轮播图效果
    这篇文章主要介绍纯js如何实现轮播图效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图代码 css * {    margin: 0;&nb...
    99+
    2023-06-25
  • js如何实现图片轮播特效
    这篇文章将为大家详细讲解有关js如何实现图片轮播特效,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先看一眼效果图:代码:<html> <head>...
    99+
    2024-04-02
  • JS实现轮播图案例
    本文实例为大家分享了JS实现轮播图案例的具体代码,供大家参考,具体内容如下 实现功能: 1、自动轮播:鼠标停留在轮播图上时不切换图片,鼠标离开后自动轮播。 2、点击左右按钮切换图片。...
    99+
    2024-04-02
  • js原生代码如何实现轮播图
    这篇文章主要介绍js原生代码如何实现轮播图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、现在我们来看看它是什么样的效果,截一张图给大家看:二、无论我们做什么特效,都要记住一个原则...
    99+
    2024-04-02
  • DW网页元素如何制作渐隐渐现效果
    这篇文章主要介绍DW网页元素如何制作渐隐渐现效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Dreamweaver中想要使用jQ效果实现网页元素的渐隐渐现钉钉效果,该怎么制作呢?方法如下打开Dreamweaver,...
    99+
    2023-06-08
  • 用js实现简单轮播图
    本文实例为大家分享了js实现简单轮播图的具体代码,供大家参考,具体内容如下 1.实现功能: 2.实现思路: (1)鼠标放到图片上,显示箭头,用display来做。 (2)动态生成...
    99+
    2024-04-02
  • JS实现轮播图小案例
    本文实例为大家分享了JS实现轮播图小案例的具体代码,供大家参考,具体内容如下 分析: 点击左右箭头 滑动轮播图 鼠标不在轮播图内时 每隔2秒自动滑动轮播图 ...
    99+
    2024-04-02
  • 纯js实现轮播图效果
    本文实例为大家分享了js实现轮播图效果的具体代码,供大家参考,具体内容如下 结合我们前面学过的:鼠标监听事件(移入移出、点击),创建节点,排他思想、定时器等,就可以实现一个能手动和自...
    99+
    2024-04-02
  • js实现3D轮播图效果
    本文实例为大家分享了js实现3D轮播图效果的具体代码,供大家参考,具体内容如下 主要有平移和旋转构成3d效果的轮播图,小白一只,不足之处还请大家多多指教,代码如下 css代码: ...
    99+
    2024-04-02
  • 用js实现轮播图效果
    今天来说一下利用js实现轮播图效果,供大家参考,具体内容如下 思路 1.首先我们要把需要用到的元素获取过来 <div class="all" id='box'> ...
    99+
    2024-04-02
  • js如何实现轮播插件
    这篇文章将为大家详细讲解有关js如何实现轮播插件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。轮播效果在网页中用的很多,swiper是其中最有代表性的作品,它支持水平和竖...
    99+
    2024-04-02
  • 原生js如何实现轮播
    这篇文章主要为大家展示了“原生js如何实现轮播”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“原生js如何实现轮播”这篇文章吧。效果如下:代码如下:<!DO...
    99+
    2024-04-02
  • js基于myFocus如何实现轮播图效果
    这篇文章将为大家详细讲解有关js基于myFocus如何实现轮播图效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下step1.页面引入相关文件<link...
    99+
    2024-04-02
  • js如何实现图片首尾平滑轮播
    这篇文章给大家分享的是有关js如何实现图片首尾平滑轮播的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先给出HTML代码,要注意轮播图片表(#list)末尾加上第一个图片1.jp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作