第7章 jQuery插件和前端常用组件ppt课件.ppt





《第7章 jQuery插件和前端常用组件ppt课件.ppt》由会员分享,可在线阅读,更多相关《第7章 jQuery插件和前端常用组件ppt课件.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在此输入您的封面副标题第7章 jQuery插件和前端常用组件第7章 jQuery插件和前端常用组件插件概念和基本使用模板引擎插件的使用文件上传插件的使用开发自定义插件数据可视化列表编辑器插件的使用 学习目标掌握掌握掌握掌握掌握掌握插件概念和基本使用12 掌握数视化列 表及文件上传 掌握前端常用的开发 组件及自定义插件3 目录开发自定义插件7.27.27.17.1jQuery插件的概述模板引擎7.37.3点击查看本小节知识架构点击查看本小节知识架构点击查看本小节知识架构 目录文件上传7.57.57.47.4数据可视化图表编辑器7.67.6点击查看本小节知识架构点击查看本小节知识架构点击查看本小节
2、知识架构 知识架构7.1 jQuery插件的概述插件的概述1什么是jQuery插件 知识架构7.2 开发自定义插件开发自定义插件1封装jQuery对象方法的插件2封装静态方法插件3案例自定义焦点图插件 知识架构7.3 模板引擎模板引擎1art-template快速入门2标准语法和常用方法 知识架构7.4 数据可视化图表数据可视化图表1快速体验ECharts2Echarts的常用配置项 知识架构7.5 文件上传文件上传1快速体验WebUploader2显示上传进度3图片上传操作 知识架构7.6 编辑器编辑器1快速体验UEditor2定制工具栏图标3UEditor常用方法 7.1 jQuery插件
3、的概述插件插件:插件是一种遵循某种规范的应用程序接口编写出来的程序,只能运行在指定的环境中。jQuery插件插件:在引入jQuery条件下运行的程序。jQuery插件官方网址插件官方网址:jQuery插件插件GitHub地址地址:插件的概述 7.2 开发自定义插件封装jQuery对象方法的插件封装jQuery对象方法实现的插件语法:语法: $.fn .插件名 = function(参数列表) / 编写插件的代码;$.fn是jQuery原型对象jQuery.prototype的简写 7.2 开发自定义插件封装jQuery对象方法的插件封装jQuery对象对象方法实现的插件方法中方法中this的指
4、向:的指向:可通过this访问调用当前方法的jQuery对象 $.fn.test = function() return this = obj ;var obj = $(div);console.log(obj.test(); / 输出结果:true说明插件内部this与jQuery对象obj是同一个对象 7.2 开发自定义插件封装jQuery对象方法的插件注意注意在编写插件时,应避免使用jQuery对象的简写“$”,防止发生名称的冲突。 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实现的插件避免命名冲突:避免命名冲突:将插件的方法放在闭包
5、函数中封装完插件后将其保存为一个单独的js文件,在使用插件时直接引入文件即可。推荐文件名使用“jquery.插件名.js”格式,防止与其他JavaScript库插件混淆。 (function($) $.fn.插件名 = function() / 编写插件的代码 ;)(jQuery); 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实现的插件通过一个案例进行演示封装jQuery对象方法的插件:制作tableColor插件,实现表格隔行换色功能。 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实
6、现的插件制作tableColor插件页面结构demo7-1.html 引入文件:引入文件: 先引入jQuery文件,再引入插件文件 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实现的插件制作tableColor插件页面结构demo7-1.html 文档结构:文档结构: ID编号姓名性别 001Tom男 002Jim男 003Lucy女 004Lily女 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实现的插件实现表格颜色设置:实现表格颜色设置: var table = $(table);/
7、 设置偶数行样式table.find(tr:even).css(background: lightBlue, color: red);/ 设置标题行样式table.find(tr:first).css(background: green, color: #fff); 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实现的插件jquery.tableColor.js 编写插件:编写插件: (function($) $.fn.tableColor = function(options) for (var i in options) this.fin
8、d(i).css(optionsi); return this; ;)(jQuery);返回当前对象,实现链式调用 7.2 开发自定义插件封装jQuery对象方法的插件封装封装jQuery对象方法实现的插件对象方法实现的插件tableColor插件使用:插件使用: $(table).tableColor( tr:even: background: lightBlue, color: red, tr:first: background: green, color: #fff); 脚脚下下留留心心插件书写注意事项在编写插件时,要养成以分号(;)结尾的习惯,因为插件代码将来可能被压缩、合并,如果省略
9、分号会导致出错。同样的,为防止他人不规范的代码对自定义插件的影响,可以在插件的头部添加一个分号(;),如下所示。7.2 开发自定义插件 (function($) $.fn.插件名 = function() ;)(jQuery); 7.2 开发自定义插件封装静态方法插件封装封装jQuery对象方法实现的插件对象方法实现的插件语法:语法: $.插件名 = function(插件列表) / 编写插件的代码; 7.2 开发自定义插件封装静态方法插件:封装静态方法插件:通过一个案例进行演示封装静态方法插件:制作checkbox插件,实现表格全选、反选以及全不选操作。封装静态方法插件 7.2 开发自定义插
10、件封装静态方法插件封装静态方法插件:定义函数Checkbox,并将其添加到$对象上。封装静态方法插件 function Checkbox(ele) this.ele = ele;$.checkbox = function(selector) return new Checkbox($(selector); 7.2 开发自定义插件:为构造函数Checkbox添加原型方法。封装静态方法插件 Checkbox.prototype = checkAll: function() / 全选 this.ele.prop(checked, true); , uncheckAll: function() / 全
11、不选 this.ele.prop(checked, false); , checkInvert: function() / 反选 this.ele.each(function() this.checked = !this.checked;); ; 7.2 开发自定义插件demo7-2.html 页面结构:页面结构:封装静态方法插件 操作ID编号姓名. .男 . 7.2 开发自定义插件demo7-2.html :中使用Checkbox插件方法实现全选、反选、全不选:封装静态方法插件 var ele = $.checkbox(:checked);$(#checkAll).click(functio
12、n() ele.checkAll(););$(#uncheckAll).click(function() ele.uncheckAll(););$(#checkInvert).click(function() ele.checkInvert();); 多多学学一一招招extend()方法的使用为调用extend()方法的对象添加成员“$.extend(obj)”:表示将obj对象的成员添加到$对象中“$.fn.extend(obj)”:表示将obj对象的成员添加到$.fn对象中7.2 开发自定义插件$.fn.extend( 插件方法1: function() , 插件方法2: function
13、() );$.extend( 插件方法1: function() , 插件方法2: function() ); 多多学学一一招招extend()方法的使用合并对象成员:合并对象成员:extend()方法支持合并一个或多个对象成员,该方法的第1个参数表示目标对象,第2N个参数表示被合并的对象7.2 开发自定义插件 var obj1 = a: 1, b: 1, c: 1;var obj2 = b: 2, a: 2;var obj3 = $.extend(obj1, obj2);console.log(obj1); / 输出结果:Object a: 2, b: 2, c: 1console.log(
14、obj2); / 输出结果:Object b: 2, a: 2console.log(obj3 = obj1); / 输出结果:true在合并时,遇到同名的成员将会覆盖,合并后,原对象的成员顺序不会改变。 多多学学一一招招extend()方法的使用合并对象成员:合并对象成员:如果调用插件方法时传入的options对象中省略了可选参数,就会在options对象中自动加上这些参数。7.2 开发自定义插件 (function($) var defaults = 可选参数1: 默认值1, 可选参数2: 默认值2; $.插件名 = function(options) options = $.extend
15、(, defaults, options); ; $.插件名.defaults = defaults; / 允许插件的使用者查看或更改可选参数)(jQuery); 多多学学一一招招extend()方法的使用深拷贝合并:深拷贝合并:$.extend()方法第一个参数在设为true时,表示采用递归方式合并对象。7.2 开发自定义插件 var defaults = sub: js, info: id: 2, name: Tom;var obj = info: name: Jimmy, score: 96;var newObj = $.extend(true, , defaults, obj);/ 输
16、出结果:sub: js, info: id: 2, name: Jimmy, score: 96console.log(newObj); 7.2 开发自定义插件案例展示:案例展示:焦点图自动切换当鼠标悬停、离开时,焦点图暂停、开启自动播放 鼠标悬停在小圆点,修改当前圆点的显示样式,切换到对应的图片案例自定义焦点图插件 7.2 开发自定义插件案例分析:案例分析:焦点图案例的HTML结构。案例自定义焦点图插件 7.2 开发自定义插件案例分析:案例分析:焦点图案例的CSS样式 根据焦点图的大小限定最外层div容器的宽高,通过浮动和定位让所有焦点图都显示在此区域内,接着设计小圆点的默认样式和鼠标滑过时
17、的样式,从而完成整个页面的设计。案例自定义焦点图插件 7.2 开发自定义插件案例分析:案例分析:焦点图案例的焦点图案例的jQuery特效:特效:根据图片的个数生成小圆点自动切换图片 切换图片时,小圆点和图片一一对应案例自定义焦点图插件 7.2 开发自定义插件案例实现:案例实现:编写编写HTML结构:结构:slide.html 页面结构案例自定义焦点图插件 . 7.2 开发自定义插件案例实现:案例实现:编写编写HTML结构:结构:slide.html 引入文件。案例自定义焦点图插件 7.2 开发自定义插件案例实现:案例实现:设计设计CSS样式:样式:slide.css案例自定义焦点图插件 .sl
18、ide position:relative; overflow:hidden; border:1px solid #ccc;.slide ul position:relative; list-style:none; margin:0; padding:0; .slide ul li position:absolute; display:none;.slide-nav position:absolute; right:0px; bottom:0px; height:30px; line-height:34px; width:100%; background:rgba(0,0,0,0.2); te
19、xt-align:center; .slide-nav a background:#fff; border-radius:7px; width:14px; height:14px; display:inline-block; margin:0 5px; cursor:pointer; .slide-nav .slide-curr background:#ff6700;小圆点被选中的样式 7.2 开发自定义插件案例实现:案例实现:封装焦点图插件封装焦点图插件 jquery.slide.js :创建Slide构造函数案例自定义焦点图插件 function Slide(obj) / Slide构造函
20、数Slide.prototype = change: function(i, speed) , / 切换到第i张图片 next: function() , / 切换到下一张图片 start: function() speed, / 开启图片自动切换 pause: function() / 暂停图片自动切换; 7.2 开发自定义插件案例实现:案例实现:封装焦点图插件封装焦点图插件 jquery.slide.js :设置默认参数。案例自定义焦点图插件 var defaults = speed: 3000, / 默认切换间隔时间(毫秒) width: 670px, / 默认图片宽度 height:
21、240px, / 默认图片高度 prefix: slide / class前缀; 7.2 开发自定义插件案例实现:案例实现:封装焦点图插件 jquery.slide.js 为jQuery对象增加slide方法案例自定义焦点图插件 $.fn.slide = function(options) options = $.extend(, defaults, options); this.css(width: options.width, height: options.height); var slide = new Slide(this, options.prefix); / 鼠标滑到焦点图区域,
22、暂停自动切换,离开时,恢复自动切换 this.hover(function() slide.pause();, function()slide.start(options.speed);); return slide.change(0, 0).start(options.speed); ;$.fn.slide.defaults = defaults; 7.2 开发自定义插件搭建插件骨架完善插件功能。搭建插件骨架完善插件功能。案例自定义焦点图插件 7.2 开发自定义插件案例实现:案例实现:封装焦点图插件 jquery.slide.js :完善Slide构造函数案例自定义焦点图插件 functio
23、n Slide(obj, prefix) / 根据图片个数,自动生成相应数量的小圆点切换按钮 this.pics = obj.find(li); var nav = obj.find(. + prefix + -nav); nav.append(new Array(this.pics.length + 1).join(); this.dots = nav.find(a); this.currCls = prefix + -curr; var slide = this; / 当鼠标滑到某个小圆点上时,切换到对应的图片 this.dots.mouseover(function() slide.ch
24、ange($(this).index(););获取焦点图图片绑定鼠标经过事件 7.2 开发自定义插件案例实现:案例实现:封装焦点图插件 jquery.slide.js :为Slide构造函数完善原型方法案例自定义焦点图插件 Slide.prototype = / 切换到索引值为i的图片,speed为动画速度 change: function(i, speed) this.i = i; / 保存传入的索引值 this.dots.eq(i).addClass(this.currCls).siblings(a) .removeClass(this.currCls); / 小圆点切换 this.pic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 jQuery插件和前端常用组件ppt课件 jQuery 插件 前端 常用 组件 ppt 课件

限制150内