全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS实现图片预加载之无序预加载功能代码

图片预加载之无序预加载的效果图如下所示,如果大家感觉不错,请参考实现代码。

具体代码如下所示:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>PreLoading</title>
  <style>
    *{margin:0; padding:0; border:none; outline:0; text-decoration:none;}
    html,body,.box{width:100%; height:100%;}
    .box{display:none;}
    #img{width:90%; height:90%; margin:2vh auto 0; display:block; box-shadow:0 0 10px gray;}
    .box .btns{width:140px; height:40px; display:block; margin:20px auto;}
    .box .btns .btn{width:60px; height:40px; display:block; border:1px gray solid; background-color:#ccc; text-align:center; line-height:40px; float:left;}
    .box .btns .btn:nth-of-type(2){margin-left:16px;}
    .load{width:100%; height:100%; display:block; font-size:60px; font-family:"微软雅黑"; color:#ccc; text-align:center; line-height:100vh; position:fixed;}
  </style>
</head>
<body>
  <div class="box">
    <img id="img" src="" alt="pic">
    <p class="btns"><a href="javascript:" rel="external nofollow" rel="external nofollow" class="btn">prev</a><a href="javascript:" rel="external nofollow" rel="external nofollow" class="btn">next</a></p>
  </div>
  <p class="load">0%</p>
  <script type="text/javascript">
    var imgs = ['http://down.699pic.com/photo/50036/7661.jpg?_upt=da51378d1494571758&_upd=500367661.jpg',
          'http://desk.fd.zol-img.com.cn/t_s1920x1080c5/g5/M00/09/0F/ChMkJljskIqIPX9bAAMPyuIn8DcAAbj8QB7XpYAAw_i343.jpg',
          'http://desk.fd.zol-img.com.cn/t_s1920x1080c5/g5/M00/09/0F/ChMkJljskLeIaW-JAAIudN_yqvgAAbj8gDQO5AAAi6M64.jpeg',
          'http://desk.fd.zol-img.com.cn/t_s1920x1080c5/g5/M00/0F/08/ChMkJlauzISIH0uXAARUHuJLVX8AAH8-gHu6zsABFQ2166.jpg',
          'http://desk.fd.zol-img.com.cn/t_s1920x1080c5/g5/M00/0F/08/ChMkJlauzISIIL5TAAObxg4-XeUAAH8-gHzP3EAA5ve000.jpg'];
    // 绑定按钮事件
    var btns = document.getElementsByClassName('btn'),
      img = document.getElementById('img'),
      index = 0;
    for(var i=0;i<btns.length;i++){
      btns[i].onclick = function(){
        if(this.innerHTML === 'next'){
          index = Math.min(++index , imgs.length-1);
          img.setAttribute('src',imgs[index]);
        }
        if(this.innerHTML === 'prev'){
          index = Math.max(--index , 0);
          img.setAttribute('src',imgs[index]);
        }
      }
    }
    // 计数变量
    var count = 0,
      load = document.getElementsByClassName('load')[0],
      box = document.getElementsByClassName('box')[0];
    // 无序预加载
    for(var i=0;i<imgs.length;i++){
      (function(i){
        var imgObj = new Image();
      imgObj.onload = function(){
          load.innerHTML = Math.round((count + 1) / imgs.length * 100) + '%';
          count++;
          if(count >= imgs.length-1){
            load.style.display = 'none';
            box.style.display = 'block';
            img.setAttribute('src',imgs[0]);
            document.title = '1/' + imgs.length;
          }
        }
      imgObj.onerror = function(){
          load.innerHTML = Math.round((count + 1) / imgs.length * 100) + '%';
          count++;
          if(count >= imgs.length-1){
            load.style.display = 'none';
            box.style.display = 'block';
            img.setAttribute('src',imgs[0]);
            document.title = '1/' + imgs.length;
          }
        }
        imgObj.src = imgs[i];
      })(i);
    }
  </script>
</body>
</html>

以上所述是小编给大家介绍的JS实现图片预加载之无序预加载功能代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 图片预加载  # 无序预加载  # js图片预加载示例  # 利用CSS、JavaScript及Ajax实现高效的图片预加载  # javascript预加载图片、css、js的方法示例介绍  # js 利用image对象实现图片的预加载提高访问速度  # JS实现图片预加载无需等待  # 加载  # 所示  # 小编  # 在此  # 微软  # 给大家  # 所述  # 绑定  # 给我留言  # 请参考  # 感谢大家  # 疑问请  # 有任何  # btns  # gray  # btn  # px  # vh  # img  # auto 


相关文章: 如何获取开源自助建站系统免费下载链接?  如何在云虚拟主机上快速搭建个人网站?  网站设计制作企业有哪些,抖音官网主页怎么设置?  建站之星官网登录失败?如何快速解决?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何选择香港主机高效搭建外贸独立站?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  长沙做网站要多少钱,长沙国安网络怎么样?  定制建站方案优化指南:企业官网开发与建站费用解析  宝塔Windows建站如何避免显示默认IIS页面?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何彻底删除建站之星生成的Banner?  ,制作一个手机app网站要多少钱?  公司门户网站制作流程,华为官网怎么做?  网页设计网站制作软件,microsoft office哪个可以创建网页?  再谈Python中的字符串与字符编码(推荐)  在线制作视频网站免费,都有哪些好的动漫网站?  建站168自助建站系统:快速模板定制与SEO优化指南  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  定制建站策划方案_专业建站与网站建设方案一站式指南  宝塔新建站点报错如何解决?  网站制作软件有哪些,制图软件有哪些?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  建站主机如何安装配置?新手必看操作指南  如何快速搭建二级域名独立网站?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何通过.red域名打造高辨识度品牌网站?  怎么将XML数据可视化 D3.js加载XML  深圳网站制作平台,深圳市做网站好的公司有哪些?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  实例解析Array和String方法  湖北网站制作公司有哪些,湖北清能集团官网?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何零基础开发自助建站系统?完整教程解析  公众号网站制作网页,微信公众号怎么制作?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  高防服务器如何保障网站安全无虞?  如何在IIS7上新建站点并设置安全权限?  如何在腾讯云免费申请建站?  ,在苏州找工作,上哪个网站比较好?  如何通过云梦建站系统实现SEO快速优化?  为什么Go需要go mod文件_Go go mod文件作用说明  网站制作公司排行榜,四大门户网站排名?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。