`
keel
  • 浏览: 45069 次
社区版块
存档分类
最新评论

jQuery中文入门指南,翻译加实例,jQuery的起点教程(四)

阅读更多
五:Animate me(让我生动起来):使用FX

一些生动的效果可以使用 show()hide()来表现:


$(document).ready(function() {
$("a").toggle(function() {
$(".stuff").hide('slow');
}, function() {
$(".stuff").show('fast');
});
});

你可以与 animate()联合起来创建一些效果,如一个带渐显的滑动效果:


$(document).ready(function() {
$("a").toggle(function() {
$(".stuff").animate({
height: 'hide',
opacity: 'hide'
}, 'slow');
}, function() {
$(".stuff").animate({
height: 'show',
opacity: 'show'
}, 'slow');
});
});

很多不错的效果可以访问interface plugin collection. 这个站点提供了很多demos和文档

这些效果插件是位于jQuery插件列表的前面的,当然也有很多其他的插件,比如我们下一章讲到的表格排序插件。

本章的相关链接:
Sort me(将我有序化):使用tablesorter插件(表格排序)

这个表格排序插件能让我们在客户端按某一列进行排序,引入jQuery和这个插件的js文件,然后告诉插件你想要哪个表格拥有排序功能。

要测试这个例子,先在starterkit.html中加上像下面这一行的代码:


<script src="lib/jquery.tablesorter.js" type="text/javascript"></script>

然后可以这样调用不着:


$(document).ready(function() {
$("#large").tableSorter();
});

现在点击表格的第一行head区域,你可以看到排序的效果,再次点击会按倒过来的顺序进行排列。

这个表格还可以加一些突出显示的效果,我们可以做这样一个隔行背景色效果:


$(document).ready(function() {
$("#large").tableSorter({
// Class names for striping supplyed as a array.
stripingRowClass: ['odd','even'],
stripRowsOnStartUp: true // Strip rows on tableSorter init.
});
});

关于这个插件的更多例子和文档可以在 tablesorter首页找到.

几乎所有的特件都是这样用的:先include插件的js文件,然后在某些元素上使用插件定义的方法,当然也有一些参数选项是可以配置的

经常更新的插件列表可以从jQuery官方站 on the jQuery site找到.

当你更经常地使用jQury时,你会发现将你自己的代码打包成插件是很有用处的,它能方便地让你的公司或者其他人进行重用.下一章我们将谈到如何构建一个自己的插件.

本章的相关链接:
Plug me:制作自己的插件

写一个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件.

  1. 为你的插件取一个名字,在这个例子里面我们叫它"foobar".
  2. 创建一个像这样的文件:jquery.[yourpluginname].js,比如我们创建一个jquery.foobar.js
  3. 创建一个或更多的插件方法,使用继承jQuery对象的方式,如:

    jQuery.fn.foobar = function() {
    // do something
    };
  4. 可选的:创建一个用于帮助说明的函数,如:

    jQuery.fooBar = {
    height: 5,
    calculateBar = function() { ... },
    checkDependencies = function() { ... }
    };

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


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

    jQuery.fn.foobar = function(options) {
    var settings = {
    value: 5,
    name: "pete",
    bar: 655
    };
    if(options) {
    jQuery.extend(settings, options);
    }
    };

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


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

    Or with some options:


    $("...").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;
});

你可能想要把这个重写为一个插件,很直接地:


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

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


$("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) {

// instead of selecting a static container with $("#rating"),
//we now use the jQuery context
var container = this;

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
});
Next steps(下一步)

如果你想做更好的javascript开发,建议你使用一个叫 FireBug的firefox插件. 它提供了断点调试(比alert强多了)、观察DOM变化等很多漂亮的功能

如果你还有未解决的问题,或者新的想法与建议,你可以使用jQuery的邮件列表 jQuery mailing list.

关于这个指南的任何事情,你可以写mail给作者或者发表评论在他的日志:blog.

关于这个指南的翻译任何事情,你可以写mail给我或者发表评论在我的日志:blog.




全文完.

上一篇:http://keelsike.blogspot.com/2006/12/jqueryjquery_11.html


教程完整版在这里:http://keel.sike.googlepages.com/jQuery_getting_started.html
分享到:
评论

相关推荐

    jQuery中文入门指南翻译加实例jQuery的起点教程

    **jQuery中文入门指南** jQuery是一款高效、简洁的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。这个“jQuery中文入门指南”是为初学者准备的,旨在帮助大家快速理解并掌握...

    jQuery中文入门指南 翻译加实例 jQuery的起点教程

    这个指南是一个对jQuery库的说明,要求读者了解HTML(DOM)和CSS的一些常识。它包括了一个简单的Hello World的例子,选择器和事件基础,AJAX、FX的用法,以及如何制作jQuery的插件。 这个指南包括了很多代码,你可以...

    jQuery七天入门指南

    资源名称:jQuery 七天入门指南内容简介:jQuery 初级教程——七天入门指南中文版, pdf高清淅版,翻译加实例,学习jQuery的第一手资料,jQuery的起点教程,书中的内容涉及以实例为基础一步步说明了jQuery的工作方式...

    jQuery中文入门指南.doc

    总之,这份jQuery中文入门指南是一个很好的起点,通过实例教学,你可以快速掌握jQuery的基本用法,为进一步深入学习和应用打下坚实的基础。在实践中不断探索,结合官方API文档和在线资源,将有助于你更好地理解和...

    JQuery中文入门指南

    【jQuery中文入门指南】这篇教程面向的是对HTML(DOM)和CSS有一定了解的读者,旨在介绍jQuery库的基础知识。教程通过实例代码展示,鼓励读者复制并尝试修改,以加深理解。 1. **安装jQuery**:首先,你需要获取...

    jQuery的起点教程.rar

    jQuery中文入门指南,翻译加实例,jQuery的起点教程 此文以实例为基础一步步说明了jQuery的工作方式。现以中文翻译(添加我的补充说明)如下。如有相关意见或建议请麻烦到我的 BLOG 写个回复或者 EMAIL 告知。

    jquery-starterkit实例

    总结,jQuery StarterKit是一个理想的起点,它通过实际的代码示例,帮助开发者快速入门jQuery,从而在Web开发的道路上迈出坚实的一步。通过深入学习和实践,开发者可以熟练掌握这一强大工具,提升开发效率,创造出更...

    jquery 新手学习常见问题解决方法

    Q0,新手必看教程: 第一步,jQuery中文入门指南,翻译加实例,jQuery的起点教程 第二步,下载手册方便查询(jQuery 1.41 中文API文档 chm版) 第三步,深刻了解jQuery对象和普通DOM对象的区别。互相转化见Q1 Q1,js...

    [jQuery入门到精通]第10章:jQueryUI常用功能实战[归纳].pdf

    jQuery UI 是一个基于 jQuery 库的用户界面交互框架,它提供了丰富的组件,帮助开发者实现复杂的交互和视觉效果,而无需依赖第三方...本文提供的实例和实践指南,为读者深入理解和使用jQuery UI提供了一个良好的起点。

    jQuery Mobile First Look

    #### 三、快速入门指南 **3.1 安装与配置** - **引入jQuery和jQuery Mobile库**:在HTML文档头部通过`&lt;script&gt;`标签引入jQuery和jQuery Mobile的JavaScript文件。 - **添加CSS样式**:通过`&lt;link&gt;`标签引入jQuery ...

    39个JQvery免豆资料地址汇总.pdf

    - **在线教程:** 包括W3Schools、jQuery API文档在内的多个在线平台提供了丰富的教程和示例。 - **书籍推荐:** - **《jQuery权威指南》:** 本书深入介绍了jQuery的核心概念、语法和最佳实践。 - **《锋利的...

    c#web应用程序入门经典

    在"C# Web应用开发入门指南"中,你将逐步学习这些知识点,并通过实例加深理解。通过实践项目,你可以巩固理论知识,最终具备独立开发C# Web应用的能力。这个过程可能充满挑战,但随着对C#和ASP.NET的理解不断深入,...

    关于JavaScript的好书推荐

    - **内容简介**:这本书没有任何技术门槛,读者只需跟着书中提供的实例编写代码,就可以逐步了解如何操作浏览器中的元素,并学会制作一些简单的页面效果。这种方式能够极大地提升初学者的兴趣和信心,让他们在编程...

    htc指南

    【HTC指南】初学者教程 在深入了解HTC(HTML Component)之前,我们先要明白,HTC是一种早期由Microsoft开发的技术,主要用于增强HTML页面的行为,它结合了HTML、脚本语言(如JavaScript)和组件技术,使得网页交互...

    AngularJS开发指南

    此外,AngularJS还提供了一种目录布局和测试脚本作为应用开发的起点,进一步降低了入门门槛。 综上所述,AngularJS是一个功能强大且全面的Web应用开发框架,尤其适用于构建CRUD应用。它通过扩展HTML语法,提供了...

    easyui+帮助文档

    EasyUI 是一个基于 jQuery 的轻量级用户界面框架,它为开发者提供了丰富的组件,包括布局、表格、对话框、菜单、按钮、表单等,使得Web应用开发更加便捷。EasyUI 的设计目标是让开发者更专注于业务逻辑,而无需过多...

Global site tag (gtag.js) - Google Analytics