嗨,美女,这是我写的一个jQuery插件! 很多公司的前端设计开发人员都是女孩子而这些女孩子很多JavaScript技能都不是很好。而前端开发过程中JavaScript技能又是必不可少的。所以如果前端小MM正在为某个JavaScript效果发愁的时候你潇洒的过去然后对她说“嗨美女用这个吧。这是我写的一个jQuery插件。”我想基本上你的人生大事就能很快解决。先想好做个什么功能这是第一步也是很重要的一步鉴于咱们都是刚学习写jQuery插件所以这个功能一定要简单一些。不要想一口就吃个胖子咱也吃不了。咱还是捡个瘦的下手吧。但是这个功能也不能太无聊如果无聊到几乎没用处就算做好了也是扔到马桶里不会持续更新也便不会持续进步了。我最终选择的是美化表格让表格的奇偶行颜色不同然后鼠标移到某行上某行可以高亮显示。功能简单又实用不错不错。呵呵不急着写先想想实现原理还不急先想想实现原理。必要的时候先写出简单的实现的原型。我的这个美化表格的例子实现原理倒是简单无非就是找到表格的奇偶行然后添加不同的class活动行高亮显示也很简单只要判断mouseover事件然后添加一个classmouseout的时候再去掉这个class即可。一个通用的框架在动手写自己的jQuery插件之前自然是先研究一下别人写的插件了。其实写jQuery也基本有一个通用的框架。行那咱也把这框架照搬过来吧。(function($){$.fn.yourName function(options){//各种属性、参数}var options $.extend(defaults, options);this.each(function(){//插件实现代码});};})(jQuery);有了这个咱就可以往里面套东西了。名号、参数和属性好不容易开始闯荡江湖了一定要有一个响亮的名号才行这样走在江湖上才能够屌够威风。不信你听听人家“中国牙防组”所以咱这里一定要起个响亮的名号一定要简单、明了、够权威。所以决定了就叫做“tableUI”了参数和属性也很简单无非就是三个class的名称。就叫做evenRowClass、oddRowClass和activeRowClass吧。所以上面的框架咱就把上半身给填上了。(function($){$.fn.tableUI function(options){var defaults {evenRowClass:evenRow,oddRowClass:oddRow,activeRowClass:activeRow}var options $.extend(defaults, options);this.each(function(){//实现代码});};})(jQuery);这里重点说一下这一句var options $.extend(defaults, options);看上去很屌的一句其实就是合并多个对象为一个。这里就是如果你在调用的时候写了新的参数就用你新的参数如果没有写就用默认的参数。想进一步了解的朋友可以参考jquery的官方文档 http://api.jquery.com/jQuery.extend/开始下半身吧ok上半身填补完了咱就可以填补下半身吧。无非就是找到基数行和偶数行感谢jQuery提供了类似tr:even这种写法使其及其简单然后添加上相应的class。然后再给所有的tr绑定mouseover和mouseout事件即可。下半身代码如下(function($){$.fn.tableUI function(options){var defaults {evenRowClass:evenRow,oddRowClass:oddRow,activeRowClass:activeRow}var options $.extend(defaults, options);this.each(function(){var thisTable$(this);//添加奇偶行颜色$(thisTable).find(tr:even).addClass(options.evenRowClass);$(thisTable).find(tr:odd).addClass(options.oddRowClass);//添加活动行颜色$(thisTable).find(tr).bind(mouseover,function(){$(this).addClass(options.activeRowClass);});$(thisTable).find(tr).bind(mouseout,function(){$(this).removeClass(options.activeRowClass);});});};})(jQuery);最重要的一步也许有些朋友觉得这样就算是完成了。但是切切相反我们还有最重要的一步没有完成那就是一定要在插件上方写上插件的名称、版本号、完成日期、作者作者的联系方式、出生日期、三围……等等。因为只有这样才能显的这个插件够专业。/** tableUI 0.1* Copyright (c) 2009 JustinYoung http://justinyoung.cnblogs.com/* Date: 2010-03-30* 使用tableUI可以方便地将表格提示使用体验。先提供的功能有奇偶行颜色交替鼠标移上高亮显示*/(function($){$.fn.tableUI function(options){var defaults {evenRowClass:evenRow,oddRowClass:oddRow,activeRowClass:activeRow}var options $.extend(defaults, options);this.each(function(){var thisTable$(this);//添加奇偶行颜色$(thisTable).find(tr:even).addClass(options.evenRowClass);$(thisTable).find(tr:odd).addClass(options.oddRowClass);//添加活动行颜色$(thisTable).find(tr).bind(mouseover,function(){$(this).addClass(options.activeRowClass);});$(thisTable).find(tr).bind(mouseout,function(){$(this).removeClass(options.activeRowClass);});});};})(jQuery);ok来看看一个完整的实例吧没图没真相没代码没真相。所以贴图和完整实例是必须的。学写jQuery插件实例jQuery插件tableUI的在线实例和下载

相关新闻

最新新闻

Python实战:基于深度学习的恶意软件检测与CNN图像分类

Python实战:基于深度学习的恶意软件检测与CNN图像分类

简介:恶意软件检测是网络安全的关键环节,传统签名匹配对变异样本的召回率存在明显断崖。深度学习技术通过自动提取数据特征,为未知威胁识别提供了新思路。二进制文件本质上是字节数组,可映射为灰度图像,卷积神经网络能…

2026/8/27 5:27:43
YOLOv8实战:工业传送带袋子检测数据集构建与训练全流程

YOLOv8实战:工业传送带袋子检测数据集构建与训练全流程

简介:目标检测是计算机视觉的核心任务之一,在工业自动化领域,传送带上的物体识别与定位是产线智能化的基础。实际场景中,柔性物体如袋子的检测面临形变、遮挡和光照变化等挑战,需要高质量数据集支持。本文基于466张真实…

2026/8/27 5:27:43
10美元MCU跑LLM:微控制器上部署微型语言模型的完整流程

10美元MCU跑LLM:微控制器上部署微型语言模型的完整流程

当“LLM 跑在 10 美元的微控制器上”这条消息在技术社区传开时,大多数人的第一反应是:标题党。大语言模型动辄几 GB 权重、数百瓦功耗,怎么可能和一块钱芯片扯上关系? 但这件事真实发生了。一位开发者用一块价格不到 10 美元的单…

2026/8/27 5:27:43
金属表面缺陷检测:Vision Transformer与Faster R-CNN工业落地实践

金属表面缺陷检测:Vision Transformer与Faster R-CNN工业落地实践

1. 这不是“又一个目标检测Demo”,而是一套可落地的工业质检建模闭环金属表面缺陷检测,听起来像实验室里调参跑通ResNet-50的练习题——但当你站在冷轧车间现场,面对每分钟30米高速运转的带钢产线,镜头拍到的不是清晰标注的PNG图&…

2026/8/27 5:27:43
热电偶与RTD测温信号链设计:冷端补偿到ADC采样避坑指南

热电偶与RTD测温信号链设计:冷端补偿到ADC采样避坑指南

很多搞嵌入式的朋友可能都有这种经历:传感器选型折腾半天,型号定下来之后以为万事大吉,结果板子打出来一测,温度读数跟实际差了十几度,心态直接崩掉。温度测量这活儿,难点从来不在“传感器本身”能不能测&a…

2026/8/27 5:27:43
IMX258 sensor驱动移植实战:从解包到MTK平台稳定出图

IMX258 sensor驱动移植实战:从解包到MTK平台稳定出图

简介:在嵌入式相机开发中,传感器驱动是连接硬件与图像质量的核心环节。以索尼IMX258为例,这是一颗广泛应用于中端手机的1300万像素CMOS图像传感器,支持PDAF和4K视频。将其适配到MTK平台时,工程师不仅要理解imgsensor驱…

2026/8/27 5:22:43