jquery中图片无序预加载的实现以及使用方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jquery中图片无序预加载的实现以及使用方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2812字,纯文字阅读大概需要5分钟。
内容图文
![jquery中图片无序预加载的实现以及使用方法](/upload/InfoBanner/zyjiaocheng/286/34496ac0b3ea4f7f87a820a63e1cf2ce.jpg)
/图片无序预加载 (function($){ function Preload(imgs,fns){ this.imgs=(typeof imgs==="string")?[imgs]:imgs; this.fns=$.extend({},Preload.fns,fns);//把fns 覆盖到Preload上 然后添加到{}返回 if(this.fns.loadMethod=="unorderload"){//是无序 还是有序 this._unorderload(); } else{ this._orderload(); } } Preload.fns={ loadMethod:null,//有序还是无序的方式 eachLoadImg:null, //每张图片加载完所执行的函数 allLoadImg:null //所有图片加载完所要执行的函数 } Preload.prototype._orderload=function(){ var imgs=this.imgs, len=imgs.length, fns=this.fns, num=0; function load(){ var imgObj=new Image(); $(imgObj).on("load error",function(){ fns.each && fns.each(); //存在 才会执行 if(num<len){ load(); //没有加载完就继续加载 函数执行是有顺序的 } else{ fns.allLoadImg && fns.allLoadImg();//加载完全部 } }); imgObj.src=imgs[num]; num++; } load(); } Preload.prototype._unorderload=function(){ var imgs=this.imgs, len=imgs.length, fns=this.fns, num=0; $.each(imgs,function(i,src){ if(typeof src!="string") return; var imgObj=new Image(); $(imgObj).on("load error",function(){ fns.eachLoadImg && fns.eachLoadImg(num,len); if( num==len-1){ fns.allLoadImg && fns.allLoadImg(); } num++; }); imgObj.src=src; }); } $.extend({ //给jQuery上增加新函数 preload:function(imgs,fns){ new Preload(imgs,fns); } }); })(jQuery);
使用方法
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>有序预加载</title> <style> *{margin: 0; padding: 0;} img{ width:100%; vertical-align:top; } .imgBox{ width:500px; margin:100px auto; } #prevImg, #nextImg{ width:60px; font-size:15px; height:30px; line-height:30px; text-align:center; background: #686868; position:absolute; color:#000; text-decoration:none; margin-top:-50px; } #prevImg{ left:40%; } #nextImg{ left:55%; } </style> <script src="js/jquery-3.2.1.js"></script> <script src="js/unorderload.js"></script> <script> $(function(){ var imgs=["img/0.jpg","img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg","img/5.jpg","img/6.jpg","img/7.jpg"]; var len=imgs.length; var index=0; $.preload(imgs,{}); $("#control-img-btn").on("click","a",function(){ if($(this).hasClass("prevImg")){ index=Math.max(0,--index); //上一张 } else{ index=Math.min(len-1,++index);//下一张 } $("#imgBox img").attr("src",imgs[index]); }); }); </script> </head> <body> <div id="imgBox"> <img /> </div> <p id="control-img-btn"> <a href="javascript:;" id="prevImg">上一页</a> <a href="javascript:;" id="nextImg">下一页</a> </p> </body> </html>
相关推荐:
jQuery对象与原生DOM对象之间的区别及转换
js对象是什么?js对象类型有哪些?js对象类型的总结
以上就是jquery中图片无序预加载的实现以及使用方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的jquery中图片无序预加载的实现以及使用方法全部内容,希望文章能够帮你解决jquery中图片无序预加载的实现以及使用方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。