admin 管理员组文章数量: 1184232
2024年1月12日发(作者:ubuntu软件管理工具)
第21卷第6期 vo1.21 No.6 四川职业技术学院学报 Journal of Siehuan Vocational and Technical College 20l1年12月 Dec.201 1 基于j Que r y脚本库技术的插件开发方法研究 陈印,马红春,夏先进 (四川职业技术学院,四川遂宁629000) 摘要:在Web开发中,出于安全和功能等方面的考虑,程序员可能更愿意选择用服务器端代码解决业务逻辑和用户交互问 题.但在实际应用中,过多的任务会让服务器性能急速下降,从而影响到系统的整体工作状态.因此,有必要将一些简单且不涉及 安全的任务剥离出来交由客户端完成,实现为服务器减负的目的.本文主要讨论Web应用中客户端脚本编程相关问题,重点就 jQuery脚本库基本原理和使用方法进行分析和研究,并以基于JSON描述的功能扩展方法提供案例探讨了基于jQuery的插件 开发方法. 关键词:jQuery;- ̄件;JSON 中图分类号:TP393.027 l引言 文献标识码:A 文章编号:1672-2094(2011)06-0104—03 但这的确是一件相当简单明了的事情; 3)用¥(document).ready(fn)代替body标签的onload jQuery脚本技术在Web开发中已被广泛使用,各类基 于jQuery的插件也如雨后春笋般层出不穷.那么,什么是 jQuery,如何开发基于jQuery的插件,就成为众多从业者必 然的思考和探究的课题. 事件处理过程.这一变化能够很好地解决逻辑和表现分离的 问题.并且使用这种办法可以在不同的脚本文件中做重复的 ready操作.也就是说,¥(document).ready(fn)语句可以多 次出现而不会因此导致冲突。要开发jQuery插件,很多时候 就是利用这个特性来实现的; 4)事件处理机制。jQuery还可以利用bind 0、unbind 0、live 0、die 0等方法轻松绑定或解除绑定事件; 5)支持Ajax; jQuery脚本库是由JohnResig(美国)创建,由于其优 异的特性,迄今为止已吸引了成千上万的JavaScript编程 高手加盟其团队,优化库代码,编写丰富多彩的功能插件.事 实上,JavaScript编程是业界众所周知的难题.为了让广大 程序员从烦琐的脚本编程中解放出来,一些JavaScript高 手决心利用其基本特性开发出旨在简化脚本编程的基础框 架,像prototype等.jQuery是继prototype之后业界诞生 6)支持插件(Plugin)技术. 2 jOuery插件开发方法 的又~款卓越的基于JavaScript的脚本编号基础框架. jQuery的口号是“WRITE LESS,DO MORE(写得更少,做得更 多)”.jQuery是一个轻量级的Javascript脚本库(压缩后 要实现jQuery插件的开发,必须先了解jQuery脚本库 的编程特点和基本使用方法.jQuery的最大特点就是可以 轻松定位DOM元素并将其转化为jQuery对象,从而可以有 效利用jQuery对象封装的各类属性和操作实现编程者的意 图.为了扩展jQuery的功能,我们只需利用jQuery的插件 机制,扩展jQuery对象的功能,就可以轻松达到目的. 2.1让网站支持jQuery 要使用jQuery,必须引入基本的jQuery脚本库。本文使 用的版本是jQuery1.4.2,你可以从其官网http://WWw. jquery.com/下载到其最新的版本. 只有21k),且与CSS3完全兼容,同时还兼容各类浏览器,像 FireFox 1.5+,Internet Explorer 6.O+,Opera 9.O+,Safari 2.0+等.jQuery库具备快速、简洁的特点.用户如果使用 jQuery,就可以更加轻松地对HTML文档、事件进行处理,并 iJ。陕速实现页面动画效果、利用Ajax交互改善用户体验.。 jQuery另一个突出优势是有相当完整的说明文档,同时还 有许多成熟的插件可供用户选择.jOuery能够有效剥离 HTML页代码和HTML内容,实现更加干狰的Web设计与开 发.总的来说,jQuery的主要特点包括: 1)在网站项目下创建脚本文件央(本例中文件夹名为 Scripts),将jOuery库文件复制到该文件夹下,如图1所 不. 1)更加方便灵活地选择DOM对象.在jQuery中,用户 不必编写复杂的DOM访问代码查找DOg元素,利用¥函数及 类CSS特征的条件描述法就可轻松搞定; 2)基于jQuery对象.jQuery席中内置提供了像each 2)在目标页面中引用jQuery脚本库. <html xmlns= http://w、啊.w3.org/1999/xhtml > <head runat= server > (fn)等很多遍历函数,能够清楚遍历匹配的DOg觅索 当然, 使用这些函数的前提是遍历的集合必须为jQuery对象。至 于如何将DOM集合变为jQuery对象,不在本文讨论的范围, 收稿日期:201卜O9—28 <title>jQuery演示</titie> <script language= javascript type= text/javascript src= Scripts/jquery一1.4.2.js ></script> 作者简介:陈印(1979一),男,四川渠县人,四川职业技术学院计算机科学系讲师。 马红春(1968一),女.四川南部人,四川职业技术学院计算机科学系副教授。 1()4 ・ ・
陈印.马红春,夏先进 图1将jQuery脚本库引入项目 </head> 3)在目标页面中利用jQuery脚本库进行客户端编程. <script language= javascript type= text/ javascript > ¥(document).ready(function 0( //此处写入基于jQuery的页面交互代码 }): </script> 2.2jQuery插件开发 jQuery脚本库的核心是jQuery系列函数,利用这些函 数,我们可以轻松遍历整个DOM并对其施加影响,甚至可以 由它动态产生新的DoM元素.为了便于编程控制,jQuery函 数将D0M元素转化为jOuery对象,从而可以利用jQuery对 象所具有属性和方法操控这些DOM元素.这是一:种非常棒的 设计思路,如果我们需要更多个性化的交互操作要求,就只 需对jOuery对象的功能进行扩展即可,而这恰恰是jOuery 开放的体系架构(插件机制)所固有的优势. 在jQuery中有两种办法扩展jOuery功能.一是利用¥. extend(object)扩展定义静态全局函数,二是利用¥.fn. extend(object)扩展jOuery对象的实例方法. 文重点就 第二种方法展开讨论,因为这是制作jOuery插件的有效途 径和方法. 1)基本语法 假设我们要制作一个能批量选中或取消选中表单复选框的 插件并修改样式加以强调,则可以采用类似于以下语法进行 定义: jOuery.fn.extend({ toChecked:function 0 f var¥result=this.each(function 0 f thfs.checked =true:)).addClass g'highlight”): return Sresult: ), toUnchecked:function 0( var Sresult=this.each(function(){this.checked =false:)).removeClass(‘‘highlight’,): return Sresul t: ) 基于jQuery脚本库技术的插件开发方法研究 )): 其中,jQuery为基类,jQuery.fn.extend 0表示利用其 extend方法对jOuery对象进行功能扩展.该方法所带参数 为一个JSON对象,用于描述扩展的方法细节.在本例中,共 扩展了两个方法,一个是toChecked方法,用于选中所有指 定条件的复选框并为选中的复选框添加高亮显示样式,一个 是toUnchecked方法,用于取消选中所有指定条件的复选框 并为取消选中的复选框移除高亮显示样式. 2)支持¥符号表示法 在实际使用中,很多人更习惯用¥代替jOuery,为此,可 以对上述代码作出改进: (function(¥){ ¥.fn.extend({ toChecked:function 0 f var¥result=this.each(function 0{ this.checked=true:)).addClass(“highlight”): return¥result: ), toUnchecked:function 0{ var¥result=thi s.each(function 0( this.checked:false:}).removeClass(‘‘highlight’,): return Sresult: } )): ))(jOuery): 3)上下文与链接操作支持 在插件扩展方法中,“this”关键字代表当前jOuery对 象集,而其each遍历函数内的“this”则表示具体的D0M元 素.这一点很重要,因为我们为了让扩展的功能也能像内置 的jOuery函数一样支持链接操作,就需要让函数返回 jOuery对象自身.在上例中,jOuery对象的each 0函数就 将返回jQuery对象自身,因此,在完成选中或取消选中操作 后可以继续调用自他操作.如: ¥ (“input [type=checkbox]”).check 0.CSS (‘‘background—color’ ed’,): 4)使用插件功能 <html xmlns= http://www.w3.0rg/1999/xhtm1 > <head runat= server > <title>jOuery演示</title> <script language= javascript type= text/ javascript src= Scripts/jquery一1.4.2.js ></script> <script language= javascript type= text/ javascript > (function(¥){ ¥。fn.extend({ toChecked:function 0{ vat Sresult=this.each(function 0{ ・I()5・
第2l卷第6期 vo1.21 No.6 四川职业技术学院学报 Journal of Siehuan Vocational and Technical College 2011年12月 Dec.201 1 this.checked=true:}).addClass ̄'highlight'¥: return¥result: ), toUnchecked:function 0{ vat¥result=this.each(function(){ this.checked=false:}).removeClass("highlight’,): return¥result: ) )): ))(jQuery): ¥(document).ready(function 0{ //此处写入基于jQuery的页面交互代码 ¥( input#btnCheckOrUncheck ).toggle( function0{ ¥( input[type=checkbox] ).toChecked 0: ), function0{ ¥( i nput[type=checkbox] ).toUnchecked 0: ) ): )): </script> </head> <body> <form id= forml runat= server <div> <input type= checkbox id= chkSports value= 1 /><label for= chkSports >体育</label> <input type= checkbox id= chkMusics value= 2 /><label for= chkMusics >音乐</label> <input type= checkbox id= chkArts‘value= 3 /><label for= chkArts >艺术</label> <input type= button id= tnCheck0rUncheck value= 选中/取消选中 /> </div> </form> </body> </html> ・106・ 页面操作演示效果如下: m 一 !;!iiil蛾} 一 d t 叶 ×目 } 变件瞅强冁I鲫 誊 嚣 【嗣漾 秘 ∞囊期赫 鞭 馘 鬻l 溅强 晦霰 盛。Q 沮彖 l鐾黧 鞣 j 广体育广音照广艺术[薹兰重要圈 ■ 冕磺 } l { ‘叠h-t・rMt。 {《a-l I。昨・ 图2点击按钮后复选框全部被取消选中 ; 曼u n‘ ,mt 一 : 一 0 阡 。¨嘲呸J 量t哩 ‘阴蚝幢 工^I 册期毗 煳t是善锄Jq .r滩录 I !ii!iii!i[ j I体育 音乐 艺术[ 童受圈 二』 慕嚣糍辫 謦 瓣 臻 麓l麓 :嚣 黧黧 黧 辫i 《I . 图3点击按钮后复选框全部被选中 3结论 随着Web2.0理念的不断深入人心,wEB应用开发技术越 来越注重用户体验的改善.要有效增强用户体验,就必须在 视觉效果、交互速度、人性关怀等方面改造传统Web应用.利 用jOuery脚本库技术,可以让客户端编程更易于实施从而 被广大web程序员接受和运用,最终达到有效分担服务器负 担的目的.同时,jQuery便捷的插件机制使jOuery的功能 可以得到几乎无限的延伸. 本文介绍了jOuery脚本库的特点和使用方法,分析和 演示了jQuery插件的开发方法和步骤,希望籍此为同行教 学和开发实践提供参考. 参考文献: [1]邱小湖.天诚保险代理南充分公司内部业务管理系统设计与实 现[D].电子科技大学,2010. [2]jOuery.Plugins/Authoring(EB/OL).http://docs.jquery.com /Plugins/Authoring/. [3]百度百科.jOuery(EB/OL).http://baike.baidu.com/view/102 0297.htm. [4]629博客.jOuery1.4.2API简体中文版[J],http:// .629d. com/. 责任编辑:张隆辉
版权声明:本文标题:基于jQuery脚本库技术的插件开发方法研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1705025245a470195.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论