【JQuery Zepto插件】图片预加载
屏幕滚动到图片当前位置加载图片,把图片的真实地址写到data-src属性里即可。
<img src="占位图" data-src="img/foot.jpg" />
;(function(){
/*
图片预加载
@author liuming
@demo $('img[data-src]').ImgLoading();
*/
$.fn.ImgLoading=function(){
var aImgs = [],/*缓存图片列表*/
$win = $(window),
img,imgTop,
winH = $win.height(),
Timmer=null,
i,
scrollTop;
$.each($(this),function(){
aImgs.push(this);
});
$win.bind('load scroll.ImgLoading',function(){
if(Timmer){clearTimeout(Timmer);}
Timmer = setTimeout(eachImg,100);
});
function eachImg(){
/*数组为空 清除事件*/
if(aImgs.length==0){return $win.unbind('scroll.ImgLoading');}
scrollTop = $win.scrollTop();
for(i=aImgs.length-1; i>-1; i--){
img = $(aImgs[i]);
imgTop = img.offset().top;
/*判断图片正在屏幕中 */
if(scrollTop+winH > imgTop && scrollTop<imgTop+winH){
img.attr('src',img.attr('data-src'));
aImgs.splice(i,1);
}
}
}
}
})();
$('img[data-src]').ImgLoading();
【JQuery Zepto插件】图片预加载的更多相关文章
- 转载:用Jquery实现的图片预加载技术,可以实现有序加载和无序加载!
一.背景 我们在做页面的时候,从用户体验的角度出发,肯定是希望用户以最快的速度看到完整的页面信息,但在实际情况中经常会遇到些问题. 比如受网速影响,页面加载素材的时间比较长,页面会出现短时间的错乱或者 ...
- jQuery简单实现图片预加载
我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题呢?下面我来介绍一种在实际应用中经常会使用到的js预加载的方法. ...
- jquery.imgpreload.min.js插件实现页面图片预加载
页面分享地址: http://wenku.baidu.com/link?url=_-G8miwbgDmEj6miyFtjit1duJggBCJmFjR2jky_G1VftD9eS9kwGOlFWAOR ...
- 闭包,jQuery插件的写法:图片预加载
最近做的一些网页,单个网页图片量都比较大,网络不好的情况下,特别卡,这个图片预加载的方法可以牺牲一些时间换来网页的浏览顺畅,还是值得的. //闭包的写法,它内部的变量都是局部的,不会和外部巳有的变量进 ...
- 图片预加载的插件使用-jquery.imgpreload.min.js
使用方法: //图片预加载 var the_images = [];//新建一个数组,然后将要加载的图片地址推入这个数组中: the_images.push( 'bg.jpg' ); var load ...
- JQ封装图片预加载插件
我们知道,图片的加载,特别是资源较大的图片,加载相当耗费时间.为了提高用户体验,不得不使用图片预加载技术来提前加载,以提高用户在浏览时的流畅度. 先来弄明白图片的懒加载和预加载的不同: 1)概念:懒加 ...
- 图片预加载插件 preLoad.js
1.preLoad.js插件 /*! * preLoad.js v1.0 * (c) 2017 Meng Fangui * Released under the MIT License. */ (fu ...
- jquery实现图片预加载
使用jquery实现图片预加载提高页面加载速度和用户体,本就为大家详细分析jquery图片预加载的实现原理. 什么时候使用图片预加载? 如果页面使用了很多不是最初加载便可见的图片,有必要进行预加载: ...
- jquery实现图片预加载提高页面加载速度
使用jquery实现图片预加载提高页面加载速度和用户体 我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题 呢?首 ...
随机推荐
- Storm 安装时 部分supervisor启动成功,并不在web ui上显示
今天帮公司搭建集群时,发现启动了三个Supervisor 发现只有一个显示在Web UI 上. 于是我就简单地检查了下另外两台没有启动的 storm supervisor的日志, 发现没有报出什么异常 ...
- 获取当前主题颜色 Flutter
通过context获取当前主题颜色 Theme.of(context).accentColor
- sed、awk命令速查
awk与sed.grep一样都是为了加工数据流而做成的文本加工过滤器命令.awk会事先把输入的数据根据字段单位进行分割.在没有指定分割单位的情况下,以输入数据中的空格或Tab为分隔符.与sed相比,它 ...
- LOJ2327 「清华集训 2017」福若格斯 【不平等博弈】
题目链接:LOJ 对于这道题,我们要分3步来做它. 什么是 Surreal Number 及如何解决博弈问题. 如何用 Surreal Number 解决这道题. 推出结论之后如何计数 首先看看这篇文 ...
- 【一起来烧脑】入门ES6体系
为什么要学习ES6 掌握ES3.ES5.ES6的联系和区别 快速入门ES6 学会快速构建ES6的编译环境 学习ES6: 常量 作用域 箭头函数 默认参数 对象代理 git git clone http ...
- BAT 批量执行SQL脚本
需要在BAT的sqlcmd中设置数据库连接信息. https://files.cnblogs.com/files/gguozhenqian/BAT%E6%89%A7%E8%A1%8CSQL%E8%84 ...
- Vue 一个组件引用另一个组件
有些时候需要这么做,比如,我想在首页加载轮播组件,但是又不想全局注册(因为不是每个页面都需要轮播功能) 方法1: <template> <div> <!-- 3.在tem ...
- mac安装rust的pyo3模块
Rust 发布的工具链包括了 stable.beta 和 nightly 三种不同版本. nightly 是最激进的版本,包含了大量(可能不稳定)的新/高级特性.stable 版本目前可能还不支持一些 ...
- 容易被忽视的python装饰器的特性
今天发现了装饰器的另一种用法,下面就先上代码: data_list = [] def data_item(func): data_list.append(func) return func @data ...
- file_put_contents 和php://input 实现存储数据进图片中
<?php /** *Recieve p_w_picpath data **/ error_reporting(E_ALL); function get_contents() { $xmlstr ...