首页 > 编程语言 > 详细

javascript代码片段

时间:2015-11-04 23:01:05      阅读:265      评论:0      收藏:0      [点我收藏+]

DOMReady函数,只要DOM结构加载完成即可,不必等待所有资源加载完成,节约时间,"DOMContentLoaded"在H5中被标准化

	var DOMReady=function(f,a,d){
	d = d || document;
	a = a || "addEventListener";
	d[a]?d[a](‘DOMContentLoaded‘,f,false):window.attachEvent(‘onload‘,f);
}

	DOMReady(function(){
		alert("The DOM is Ready");
	})

检查元素是否在视窗(分完全在视窗内,部分在视窗内以及完全不在视窗内)

function isInViewPort(ele){
	var rect=ele.getBoundingClientRect();
	alert(rect.top+","+rect.right+","+rect.bottom+","+rect.left);
	var newRect=getRect(ele);
	alert(newRect.top+","+newRect.right+","+newRect.bottom+","+newRect.left);
	return rect.top < (window.innerHeight || document.documentElement.clientHeight) &&
				rect.right < (window.innerWidth || document.documentElement.clientWidth) &&
				rect.bottom < (window.innerHeight || document.documentElement.clientHeight) &&
				rect.left < (window.innerWidth || document.documentElement.clientWidth);
}

IE7及以下浏览器的坐标从(2,2)开始计算,需要提供兼容方案

function getRect(ele){
	var rect=ele.getBoundingClientRect();
	var top=document.documentElement.clientTop; //IE=2 非IE=0
	var left=document.documentElement.clientLeft; //IE=2 非IE=0
	return{
		top:rect.top-top,
		bottom:rect.bottom-top,
		left:rect.left-left,
		right:rect.right-left
	}
}

  

javascript代码片段

原文:http://www.cnblogs.com/diantao/p/4937411.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!