jQuery是继Prototype之后的又一款优秀的JavaScript框架,深受广大开发者热爱,用户甚广。而jQuery一个很好的地方在 于用户的自定义,即我们可以书写自己的插件来完善jQuery的各项功能,定制自己所需要的功能,剔除冗余的代码,在页面加载时候可以有一定程度上的提 升。
面试之后,触动很大,就是你要做的是一个了解十项还是精通一项的开发者?于是花了几天时间苦逼的研读jQuery源码,了解了jQuery的事件机制、选择器以及浏览器兼容性是如何做到的等。之后就一直想要书写一款jQuery插件,来简单实现自己的一个小功能。
如上图所示,插件实现的功能是当鼠标位于某个链接其上时候,链接移动,鼠标离开之后,链接归位。
Html核心部分即
<ul id="catagory"> <li><a href="#">星期一</a></li> <li><a href="#">星期二</a></li> <li><a href="#">星期三</a></li> <li><a href="#">星期四</a></li> </ul>
$(document).ready(function() { $("#catagory a").hover(function() { $(this).animate({ paddingLeft: "20px" }, { queue: false, duration: 500 }); }, function() { $(this).animate({ paddingLeft: "0" }, { queue: true, duration: 500 }); }); });
现在,我们将功能封装起来,写成插件plugin.js,然后在HTML文件中外链进来:
(function ($) { $.fn.extend({ //插件名称 - paddingList paddingList: function (options) { //参数和默认值 var defaults = { animatePadding: 10, hoverColor: "Black" }; var options = $.extend(defaults, options); return this.each(function () { var o = options; //将元素集合赋给变量 本例中是 ul对象 var obj = $(this); //得到ul中的a对象 var items = $("li a", obj); //添加hover()事件到a items.hover(function () { $(this).css("color", o.hoverColor); //queue false表示不添加到动画队列中 $(this).animate({ paddingLeft: o.animatePadding }, { queue: false, duration: 300 }); }, function () { $(this).css("color", ""); $(this).animate({ paddingLeft: "0" }, { queue: true, duration: 300 }); }); }); } }); })(jQuery);
当然,外链plugin之前还需要src最初的jquery库文件。调用插件的方式如下:
$(document).ready(function() { $("#catagory").paddingList({ animatePadding: 30, hoverColor: "Red" }); });
本文向大家介绍分享一个自己动手写的jQuery分页插件,包括了分享一个自己动手写的jQuery分页插件的使用技巧和注意事项,需要的朋友参考一下 工作需要一个JS分页插件,心想自己动手写一个吧,一来上网找一个不清楚代码结构的,出了问题难以解决,而且网上的插件所包含的功能太多,有些根本用不到,就没必要加载那段JS,二来想起没写过jQuery插件,就当练一下手了,好了,先看结果: http://demo
React-Native的核心思想就是组件化,相当于MVC的view,因此开发应用的最佳方式就是将功能组件化。 一、最简单的方式 这里我们实现一个最简单的组件,就是邮件的末尾署名的组件。组件意味着复用,意味着统一。现在有这样一个需求,我们需要根据不同用户发送邮件时,生成每个用户的名片(即邮件末尾的署名)。 1、一般一开始的实现方式如下,直接将组件内容写到功能需求的地方: <View> <V
一步一步从无到有写一个 servlet 容器。一开始不会涉及复杂的部分,中间会进行多次重构,直到完成复杂的功能。
本文向大家介绍自己动手写的jquery分页控件(非常简单实用),包括了自己动手写的jquery分页控件(非常简单实用)的使用技巧和注意事项,需要的朋友参考一下 最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性不知
本文向大家介绍自己动手写的mybatis分页插件(极其简单好用),包括了自己动手写的mybatis分页插件(极其简单好用)的使用技巧和注意事项,需要的朋友参考一下 刚开始项目,需要用到mybatis分页,网上看了很多插件,其实实现原理基本都大同小异,但是大部分都只给了代码,注释不全,所以参考了很多篇文章(每篇文章偷一点代码,评出来自己的,半抄袭),才自己模仿着写出了一个适合自己项目的分页插件,话不
当我们的网站运行在线上的时候,我们可能希望记录一下访问者的 IP 地址,以及一些其他操作,比如说敏感操作。这一小节,我们就来完成它,不过我这里完全是抛砖引玉,这里存储日志的地方是本地的文件夹,你大可以存放到数据库中,或者其他服务器提供商存储空间里面,比如 LeanCloud、FireBase 等等。 2.5.1 初始化项目 mkdir ep && cd ep npm init -y npm i