存档

文章标签 ‘JavaScript’

jQuery插件开发模式

2010年3月4日

原文:

http://www.learningjquery.com/2007/10/a-plugin-development-pattern

翻译:

我已经开发基于JQuery的插件有一段时间了,对于各种形式和要求的插件开发有了较好的掌握。在这里,我将在本文中分享我认为十分有用的插件开发方式。当前前提是假定你对JQuery的插件开发有一定了解,如果你是插件开发的新手,不妨先看看jQuery官网上的the jQuery Authoring Guidelines。

我认为以下插件开发模式是必须应该掌握的:

1.在JQuery命名空间内声明一个特定的命名;
2.接收参数来控制插件的行为;
3.提供公有方法访问插件的配置项值;
4.提供公有方法来访问插件中其他的方法(如果可能的话);
5.保证私有方法是私有的;
6.支持元数据插件;

下面,我将逐一讲述上面的内容,并在同时给出相关的简单插件开发代码。

阅读全文…

Jack Default, JavaScript, jQuery ,

深度剖析不同浏览器环境对document.body各属性的解释和影响

2009年11月5日

javascript 类似php的print_r,dump函数

2009年11月5日

原文地址

http://www.openjs.com/scripts/others/dump_function_php_print_r.php

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	var level_padding = "";
	for(var j = 0; j < level; j++) level_padding += "    ";

	if(typeof(arr) == 'object') {
		for(var item in arr) {
			var value = arr[item];

			if(typeof(value) == 'object') {
				dumped_text += level_padding + "'" + item + "'\n";
				dumped_text += dump(value,level + 1);
			} else {
				dumped_text += level_padding + "'" + item + "' => '" + value + "'\n";
			}
		}
	} else {
		dumped_text = "=> " + arr + " <=( " + typeof(arr) + " )";
	}
	return dumped_text;
}

更好的解决方法:

http://www.netgrow.com.au/files/javascript_dump.cfm

已经加入资源分类中

谢谢,静水之人的分享!

Jack Default, JavaScript, PHP , , , ,

javascript 查找元素位置函数

2009年11月5日
function findPosition(oElement){
	var x2 = 0;
	var y2 = 0;
	var width = oElement.offsetWidth;
	var height = oElement.offsetHeight;
	if( typeof(oElement.offsetParent) != 'undefined' ){
		for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
			posX += oElement.offsetLeft;
			posY += oElement.offsetTop;
		}
		x2 = posX + width;
		y2 = posY + height;
		return [ posX, posY ,x2, y2];
	} else{
		x2 =oElement.x + width;
		y2 = oElement.y + height;
		return [ oElement.x, oElement.y, x2, y2];
	}
}

Jack Default, JavaScript