图片预加载之无序加载
来源:互联网 发布:机器人运动仿真软件 编辑:程序博客网 时间:2024/06/05 17:52
html代码:
<div class="preLoad_box"><img src="images/1.png" alt="pic" id="img" width="1200px;"/><p><a href="javascript:;" class="btn" data-control="prev">上一页</a><a href="javascript:;" class="btn" data-control="next">下一页</a></p></div><div class="loading"><p class="progress">0%</p></div>
其中data-control的用法是用户自定义的,但必须是以data-开头,与后面Jquery中.data()方法相呼应。
css代码:html,body{height:100%;}.preLoad{text-align:center;}.btn{display:inline-block;height:30px;line-height:30px;border:1px solid #ccc;background-color:#fff;padding:0 10px;margin-right:50px;color:#333;text-decoration:none;}a.btn:hover{color:#eee;color:#f00;}.loading{position:fixed;left:0;top:0;width:100%;height:100%;background-color:#eee;text-align:center;font-size:30px;}.progress{margin-top:300px;}jQuery代码:
<script type="text/javascript">var imgs = ["images/1.png", "images/2.png", "images/3.png", "images/4.png", "images/5.png", "images/6.png"];var index = 0, //当前加载到哪张图片 len = imgs.length,//图片数组的长度 count = 0,//记录当前加载的图片数目 $progress = $(".progress");//图片预加载 $.each(imgs,function (i,src){//其中i表示imgs图片数组的下标,src表示其src属性 var imgObj = new Image();//创建一个Image对象,有多少个<img/>标签,就会创建多少个对象$(imgObj).on("load error",function(){//每张图片加载或出现错误时,执行以下操纵$progress.html(Math.round((count+1)/len*100) + "%");//对小数四舍五入if(count >= len - 1){/*setTimeout(function(){//由于变化太快,只是为了方便观察$(".loading").hide();document.title = "1/" + len;},1000);*/ $(".loading").hide();document.title = "1/" + len;}count++;});imgObj.src = src;//一定要写在图片load之后 });//切换图片 $(".btn").on("click",function(){if($(this).data("control") === "prev"){//上一张 index = Math.max(0,--index);//返回较大的数,相当于index--;if(index<0){index=0;}}else{//下一张 index = Math.min(len-1,++index);//返回较小的数} document.title = (index + 1) + '/' + len;//在title栏显示当前预览到第几张 $("#img").attr('src',imgs[index]); });</script>①$.each(imgs,function(i,src){});具体类似的用法案例见http://www.jb51.net/article/41605.htm
②var imgObj = new Image();具体属性、方法见http://www.w3school.com.cn/jsref/dom_obj_image.asp,http://blog.csdn.net/hdchangchang/article/details/9036511
③$(this).data("control"):在元素上存放数据,返回jQuery对象。如果jQuery集合指向多个元素,那将在所有元素上设置对应数据。 这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串。
eg1:在一个div上存取数据
$("div").data("blah"); // undefined$("div").data("blah", "hello"); // blah设置为hello$("div").data("blah"); // hello$("div").data("blah", 86); // 设置为86$("div").data("blah"); // 86$("div").removeData("blah"); //移除blah$("div").data("blah"); // undefined
eg2:在一个div上存取名/值对数据$("div").data("test", { first: 16, last: "pizza!" });$("div").data("test").first //16;$("div").data("test").last //pizza!;
阅读全文
0 0
- 图片预加载之无序加载
- 图片无序预加载笔记
- 无序的图片预加载
- JQ图片预加载(无序加载and有序加载)
- 图片无序预加载技术一
- 图片的无序预加载基础实例
- 图片预加载之有序加载
- 图片预加载之延迟加载2-懒加载
- 图片加载---预加载
- Javascript之预加载图片
- android 之加载图片
- xUtils之加载图片
- AsyncTask之加载图片
- 图片加载之glide
- Glide之加载图片
- 图片加载之Picasso
- 前端优化之图片预加载和延迟加载
- 图片预加载之预先加载1-相册
- caffe cuda8.0 GTX1070安装问题总结
- Laravel+Intervention上传图片
- 排序-希尔排序
- 使用C#读取文件更有效率的几种方法
- 树莓派raspbian资源下载
- 图片预加载之无序加载
- 如何在 Git 里撤销(几乎)任何操作
- eclipse使用心得
- JavaScript中关于事件绑定、冒泡、捕获和执行顺序
- poj 2443 bitset 或 状态压缩
- USACO-Section1.1 Broken Necklace [动态规划]
- [安卓基础]学习第七天
- 归并排序
- 最长回文串