巴斯光年

白天教学生,晚上教自己。致力于推进教育信息化。支持开源
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JQuery的扩展接口简单示例

Posted on 2009-04-12 11:25  巴斯光年  阅读(2304)  评论(9编辑  收藏  举报

  JQuery作为一个轻量级的JS框架,有着它独到的优势。很多web程序员都乐此不疲。在这个框架中,除了拥有丰富的客户端处理功能、动画功能外。它更是提供了很自定义扩展接口,方便更多的人来开发扩展JQuery。把这个接口用一个简单的例子演示一下。我想,这足以让许多人了解其中之道了。以下示例引用自JQuery的API。

 

 1 $.extend({
 2     max: function(a, b) {
 3         return a > b ? a : b;
 4     },
 5     min: function(a, b) {
 6         return a > b ? b : a;
 7     },
 8     avg: function(a, b) {
 9         return a / b;
10     }
11 });

 

 

  该示例用以在JQuery中增加新函数,该函数是静态函数。

  调用如下:

 

jQuery.min(2,3); // => 2
jQuery.max(4,5); // => 5

 

  如果针对组件的功能扩展函数,同样也是很简单。比如,你想要扩展TextBox的功能,使到它在获取焦点时,高亮显示;失去焦点时,则取消高亮。当然,高亮的效果可以使用CSS来实现,因此,你可以用一个颜色的名称作为参数进行调用。代码如下:

 

 

 

$.fn.hightlight = function(colorName) {
    
this.mouseover(function() {
        $(
this).css('background-color', colorName);   //this对是对组件自身的引用
    });
    
this.mouseout(function() {
        $(
this).css('background-color''');
    });
}
调用如下:

 

$(function() {
    $(
'#test').hightlight('red');
});