• jQuery 工具类库集锦
    时间:2012-03-29   作者:虫虫   出处:oschina.net

    jQuery 是一个非常棒的类库,但是为了保证代码的干净以及代码的精简,它只提供最核心的功能。所以就有了很多其他的工具来丰富jQuery的功能。我在使用这些工具的时候发现我常常重复的编写一些代码,所以我就开始把它们整理到一个类库中。我把这些代码都包装成了jQuery的代码,但这并不是必须的,你也可以在其他JS类库中使用他们,或者单独使用。

    你可以在 这里下载这个类库。

    jQuery.postJSON()


    我不明白为何 jQuery 没有把这个方法加进去,虽然他们有 $.getJSON 方法。
    1$.postJSON(
    2    "/put/path/here",
    3    {val1: "Cheetos", val2: "Nachos"},
    4    function(response){ //on success do something }
    5);


    jQuery.stop()


    这个方法是用来停止事件传递的。它接受两个参数,preventDefault 和 stopPropgation。
    1$.stop(event, preventDefault, stopPropagation);
    2
    3$("#container").click(function(e)
    4{
    5    $.stop(e, true, true); 
    6});


    jQuery.shuffleArray()


    这个我用的不多,但是很好用,它可以随机的打乱一个数组。
    1$.shuffleArray([1,2,3,4,5,6,7]); //potential output: [1,3,5,7,2,4,6]

    jQuery.reload()

    这个函数就是“window.location.reload(true)”的缩写。
    1$.reload();

    jQuery.uri()


    这个函数可以解析 URL 的 URI 部分,可以通过 index 的方式访问,从1开始。
    1http://www.domain.com/this/domain/rocks
    2   
    3$.uri(1); //will output this
    4$.uri(3); //will output rocks

    jQuery.URLParams()

    这个函数我起码写过100遍。
    1http://www.domain.com/this/domain/rocks?param=fantastic&test=awesome#websanova
    2
    3$.URLParams(); // {param: 'fantastic', test: 'awesome'}
    4$.URLParams('test'); // awesome

    jQuery.URLHash()

    这个函数类似 URLParams,但是它返回的是 URL 中的 “#” 部分,如果有的话。
    1http://www.domain.com/this/domain/rocks?param=fantastic&test=awesome#websanova
    2
    3$.URLHash(); // websanova

    jQuery.hexToRGB()

    这个函数也很好用,它接受一个十六进制的数字,或者RGB字符串,相互转换,非法数据会返回 false。
    1$.hexToRGB("#FF3388"); // rgb(255,51,136)
    2$.hexToRGB("#F38");    // rgb(255,51,136)
    3$.hexToRGB("#ZZ3388"); // false
    4$.hexToRGB("F38A");    // false
    5
    6$.hexToRGB("rgb(22,67,234)"); // #1643EA
    7$.hexToRGB("rgb(22,67,274)"); // false
    8$.hexToRGB("rgb(22,67)");     // false

    jQuery.base64Encode()

    将 UTF-8 的字符串用 base64 编码。
    1$.base64Encode("encode this string"); // ZW5jb2RlIHRoaXMgc3RyaW5n

    jQuery.base64Decode()

    base64 解码,同样也是 UTF-8 编码。
    1$.base64Decode("ZW5jb2RlIHRoaXMgc3RyaW5n"); // encode this string

    jQuery.utf8Encode()

    将 String 转换成 UTF-8 编码的,主要用于上面提到的 base64Encode 函数。
    1$.utf8Encode("utf8 encode this");

    jQuery.utf8Decode()

    UTF-8 解码。
    1$.utf8Decode("utf8 encode this");

    .removeClassRegEx()

    这个方法真是太好用了,可以移除指定元素的指定 class。
    1<div class="test testing leavemealone hellotest Tester"></div>
    2
    3$("#container").removeClassRegEx(/test/i);  //class="leavemealone"
    4$("#container").removeClassRegEx(/test/);   //class="leavemealone Tester"
    5$("#container").removeClassRegEx(/^test/i); //class="leavemealone hellotest"
    6$("#container").removeClassRegEx(/test$/);  //class="testing leavemealone Tester"

    .hasClassRegEx()

    和 removeClassRegEx 类似,这个方法检查指定元素是否有指定的 class。
    1<div class="test testing leavemealone hellotest Tester"></div>
    2
    3$("#container").removeClassRegEx(/test/i);    // true
    4$("#container").removeClassRegEx(/test/);     // true
    5$("#container").removeClassRegEx(/^test/i);   // true
    6$("#container").removeClassRegEx(/test$/);    // true
    7$("#container").removeClassRegEx(/^testy$/);  // false

    .maxChars()

    这个函数对那些没有“maxlength”属性的input元素就很有用。它也可以指定一个元素来显示剩余字符。
    1$("input").maxChars(50);
    2$("input").maxChars(50, $("#maxChars_counter"));

    Object.sizeof()

    这个方法是 JavaScript 的一个扩展,可以让你获取对象的长度。
    1{cow: "moo", duck: "quack"}.sizeof(); // 2

    String.capitalize()

    这是 String 对象的一个扩展,可以把一个字符串变成大写的。
    1"test".capitalize(); // Test

    String.pxToInt()

    这个方法用了很多,特别是在我返回一个 CSS 属性的时候,我希望得到一个整数。
    1"210px".pxToInt(); //210
    2$("container").css('height').pxToInt(); // 400

    网友留言/评论

    我要留言/评论

    相关文章

    手机应用开发者需注意的20个事项:你想要成为手机开发者吗?你的目标可能是从应用商店中赚取大量金钱,也可能只是为了寻找新的挑战。无论你的目的是什么,当你设计应用时,可能需要考虑到代码层面之外的某些东西。
    产品经理应该如何写周报?:奋斗在互联网的每位同学,基本上都要写周报,更甚者还要写日报,但多少人打心底里觉得写的周报没有意义?只是为了写而写?今天,不妨从两个方面,简单说说,如何让周报真正的有意义和有效果。
    使用JSFL高效率做Flash:JSFL指Flash JavaScript,是JavaScript脚本文件,是用来扩展Flash IDE的重要工具。学会它、熟练使用它之后你会惊讶的发现,哇,原来可以这么高效率的做Flash啊!下面我们来看一看怎么使用JSFL。
    每个程序员都应读的书 - 首推《代码大全》:“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。” 很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数排列。
    JavaScript中的基本数据类型介绍:大家经常可以见到javascript中的一些数据类型,比如“undefined”、“boolean”、“string”等等,但是ECMAScipt中的变量又是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。所以javascript中用var关键字来定义变量,所以无法确定变量一定会存储什么值,也就不知道变量到底会是什么类型,因为可以随时改变变量的类型。今天这篇文章就和大家一起来学习javascript中的类型,这个问题虽然简单,但是还是有很多童鞋在很多时候没办法真正掌握它,其中不正确的地方请大家指出来,共同学习,共同进步。
    使用jQuery控制图片的hover效果:本文介绍如何网站中应用添加超酷的hover效果
    极其实用 10 款 jQuery 日历插件:以下日历插件都非常棒,非常实用,下面分享给开发者们。
    6个强大的JavaScript日期操作插件:我们必须承认,JavaScript内建的Date方法实在是太基础了,远不够我们来处理日期。总有人会开发自己的JavaScript日期操作库,为何在能够使用已经开发并测试好的日期插件时还要再自己造个轮子呢。我已经碰到过很多次需要操作日期格式的情形,这些插件将节约大把的时间。