jQuery技术

中文jquery入门必读的教程(4)

字号+ 作者:H5之家 来源:H5之家 2015-09-25 12:15 我要评论( )

你现在可以在你的插件中使用这些帮助函数了: jQuery.fn.foobar = function() {// do somethingjQuery.foobar.checkDependencies(value);// do something else}; 可选的l:创建一个默认的初始参数配置,这些配置也可以

你现在可以在你的插件中使用这些帮助函数了:

jQuery.fn.foobar = function() { // do something jQuery.foobar.checkDependencies(value); // do something else };
  • 可选的l:创建一个默认的初始参数配置,这些配置也可以由用户自行设定,如: jQuery.fn.foobar = function(options) { var settings = { value: 5, name: "pete", bar: 655 }; if(options) { jQuery.extend(settings, options); } };

    现在可以无需做任何配置地使用插件了,默认的参数在此时生效:

    $("...").foobar();

    或者加入这些参数定义:

    $("...").foobar({ value: 123, bar: 9 });
  • 如果你release你的插件, 你还应该提供一些例子和文档,大部分的插件都具备这些良好的参考文档.

    现在你应该有了写一个插件的基础,让我们试着用这些知识写一个自己的插件.

    很多人试着控制所有的radio或者checkbox是否被选中,比如:

    $("input[type='checkbox']").each(function() { this.checked = true; // or, to uncheck this.checked = false; // or, to toggle this.checked = !this.checked; });

    注:在jQuery1.2及以上版本中,选择所有checkbox应该使用 input:checkbox , 因此以上代码第一行可写为:
    $('input:checkbox').each(function() {

    无论何时候,当你的代码出现each时,你应该重写上面的代码来构造一个插件,很直接地:

    $.fn.check = function() { return this.each(function() { this.checked = true; }); };

    这个插件现在可以这样用:

    $('input:checkbox').check();

    注:在jQuery1.2及以上版本中,选择所有checkbox应该使用 input:checkbox 原文为:$("input[type='checkbox']").check();

    现在你应该还可以写出uncheck()和toggleCheck()了.但是先停一下,让我们的插件接收一些参数.

    $.fn.check = function(mode) { var mode = mode || 'on'; // if mode is undefined, use 'on' as default return this.each(function() { switch(mode) { case 'on': this.checked = true; break; case 'off': this.checked = false; break; case 'toggle': this.checked = !this.checked; break; } }); };

    这里我们设置了默认的参数,所以将"on"参数省略也是可以的,当然也可以加上"on","off", 或 "toggle",如:

    $("input[type='checkbox']").check(); $("input[type='checkbox']").check('on'); $("input[type='checkbox']").check('off'); $("input[type='checkbox']").check('toggle');

    如果有多于一个的参数设置会稍稍有点复杂,在使用时如果只想设置第二个参数,则要在第一个参数位置写入null.

    从上一章的tablesorter插件用法我们可以看到,既可以省略所有参数来使用或者通过一个 key/value 对来重新设置每个参数.

    作为一个练习,你可以试着将 这个功能重写为一个插件.这个插件的骨架应该是像这样的:

    $.fn.rateMe = function(options) { var container = this; // instead of selecting a static container with $("#rating"), we now use the jQuery context var settings = { url: "rate.php" // put more defaults here // remember to put a comma (",") after each pair, but not after the last one! }; if(options) { // check if options are present before extending the settings $.extend(settings, options); } // ... // rest of the code // ... return this; // if possible, return "this" to not break the chain });

    亲,相信通过本教程的学习,你能很快掌握jquery的一些基本操作方法,然后最重要的是:在实践中逐步学习。可以在运用中系统地掌握jQuery关于DOM操作、事件监听和动画、表单操作、Ajax,以及插件方面知识点,并结合案例进行练习,轻松掌握jQuery。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 7个有用的jQuery小技巧

      7个有用的jQuery小技巧

      2016-02-26 13:02

    • jQuery制作select双向选择列表

      jQuery制作select双向选择列表

      2016-02-26 11:00

    • 全面详细的jQuery常见开发技巧手册

      全面详细的jQuery常见开发技巧手册

      2016-02-26 10:02

    • 强大的jQuery移动插件Top 10

      强大的jQuery移动插件Top 10

      2016-02-25 09:05

    网友点评
    s