Javascript常见操作

图片预加载



var image = new Image();
image.onload = onLoad;
image.onerror = onLoad;
image.src =src;

image.complete

图片懒加载


function lazyHandler() {
	lazyLoadImages = pageContainer.find(‘.lazy‘);
	lazyLoadImages.each(function(index, el) {
		el = $(el);
		if (isElementInViewport(el[0])) {
			loadImage(el);
		}
	});
}

function isElementInViewport (el) {
	var rect = el.getBoundingClientRect();
	var threshold = app.params.imagesLazyLoadThreshold || 0;
	return (
		rect.top >= (0 - threshold) &&
		rect.left >= (0 - threshold) &&
		rect.top <= (window.innerHeight + threshold) &&
		rect.left <= (window.innerWidth + threshold)
	);
}
function attachEvents(destroy) {
	var method = destroy ? ‘off‘ : ‘on‘;
	pageContent[method](‘lazy‘, lazyHandler);
	pageContent[method](‘scroll‘, lazyHandler);
	$(window)[method](‘resize‘, lazyHandler);
}
lazyHandler();
attachEvents();

下拉刷新


function handleInfiniteScroll() {
	var inf = $(this);
	var scrollTop = inf[0].scrollTop;
	var scrollHeight = inf[0].scrollHeight;
	var height = inf[0].offsetHeight;
	var distance = inf[0].getAttribute(‘data-distance‘);
	var onTop = inf.hasClass(‘infinite-scroll-top‘);
	if (!distance) distance = 50;
	if (typeof distance === ‘string‘ && distance.indexOf(‘%‘) >= 0) {
		distance = parseInt(distance, 10) / 100 * height;
	}
	if (distance > height) distance = height;
	if (onTop) {
		if (scrollTop < distance) {
			inf.trigger(‘infinite‘);
		}
	}
	else {
		if (scrollTop + height >= scrollHeight - distance) {
			inf.trigger(‘infinite‘);
		}
	}

}
attachInfiniteScroll = function (infiniteContent) {
	$(infiniteContent).on(‘scroll‘, handleInfiniteScroll);
};
detachInfiniteScroll = function (infiniteContent) {
	$(infiniteContent).off(‘scroll‘, handleInfiniteScroll);
};
时间: 2024-11-10 06:20:40

Javascript常见操作的相关文章

javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除splice(需明确位置) 9.数组遍历 10.jQuery根据元素值删除数组元素的方法 数组常见操作包含了 增.删.查.改.插入.交集.并集 1.数组整体元素修改 //map,给数组每个元素加1 输出[1,2,3] $.map([0,1,2],function(n){ return n+1; })

JavaScript常见技术点

今天看到一篇博客讲解了几个JavaScript的技术点,感觉很实用. 原地址:Javascript常见技术点 1.javascript面向对象中继承实现 javascript面向对象中的继承实现一般都使用到了构造函数和Prototype原型链,简单的代码如下: <span style="font-family:Microsoft YaHei; font-size:12px"> function Animal(name) { this.name = name; } Anima

javascript常见的设计模式举例

    近日重读<javascript面型对象编程指南>这本书,最后一章介绍了常见的javascript设计模式的实现.主要讲解了四种设计模式:单例模式.工厂模式.装饰器模式和观察者模式.js作为动态语言,实现这四种模式的实例相对简单,当然既然称之为模式,那么吃透思想更重要,那么下面,由乐帝来实例讲解四种模式.    1.单例模式    顾名思义,对象构造出来的是实例,从字面上理解,单例即单实例,这意味一个类只能创建一个实例对象.当需要创建一种类型或者一个类的唯一对象时,可使用该模式.以下两个

jQuery 常见操作实现方式

一篇 jQuery 常用方法及函数的文章留存备忘. jQuery 常见操作实现方式 $("标签名") //取html元素 document.getElementsByTagName("") $("#ID") //取单个控件document.getElementById("") $("div #ID") //取某个控件中 控件 $("#ID #ID") // 通过控件ID取其中的控件 $(

转:jQuery 常见操作实现方式

http://www.cnblogs.com/guomingfeng/articles/2038707.html 一个优秀的 JavaScript 框架,一篇 jQuery 常用方法及函数的文章留存备忘. jQuery 常见操作实现方式 $("标签名") //取html元素 document.getElementsByTagName("") $("#ID") //取单个控件document.getElementById("")

javascript常见编程模式举例

最近买到手了一本<javascript框架设计>,详细介绍开发js框架所用到的知识.初读一点,乐帝脆弱的理论修养就暴露无遗了,所以专门加强理论修养,重看javascript编程模式的举例.下面来介绍下js中,常见的编程模式.    1.命名空间    同其他高级语言一样,js中的命名空间概念,也是为了减少命名冲突,但js没有命名空间关键字.js实现命名空间的思路是定义一个全局变量,将此命名空间的变量和方法,定义为这个全局变量的属性. var MYAPP=MYAPP||{};//全局变量 MYA

JavaScript 常见安全漏洞及自动化检测技术

序言 随着 Web2.0 的发展以及 Ajax 框架的普及,富客户端 Web 应用(Rich Internet Applications,RIA)日益增多,越来越多的逻辑已经开始从服务器端转移至客户端,这些逻辑通常都是使用 JavaScript 语言所编写.但遗憾的是,目前开发人员普遍不太关注 JavaScript 代码的安全性.据 IBM X-Force 2011 年中期趋势报告揭示,世界五百强的网站及常见知名网站中有 40% 存在 JavaScript 安全漏洞.本文将结合代码向读者展示常见

Python基础之window常见操作

一.window的常见操作: cd c:\ #进入C盘d: #从C盘切换到D盘 cd python #进入目录cd .. #往上走一层目录dir #查看目录文件列表cd ../.. #往上上走一层目录 二.常见的文件后缀名: .txt 记事本文本文件.doc word文件.xls excel文件.ppt PPT文件.exe 可执行文件.jpg .png .jpeg 图片.gif 动态图片.pdf PDF文件.mp4 .avi 视频.py python文件.java java 文件.c .h c源

JavaScript常见的六种继承方式

前言 面向对象编程很重要的一个方面,就是对象的继承.A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法.这对于代码的复用是非常有用的. 大部分面向对象的编程语言,都是通过"类"(class)实现对象的继承.传统上,JavaScript 语言的继承不通过 class(ES6 引入了class 语法),而是通过"原型对象"(prototype)实现.那么在JS中常见的继承方式有几种呢? 如需本文源码,请猛戳 常见的六种继承方式 如果觉得文章对你有些许帮助