jquery插件编写(以折叠面板为例)
2015-07-27 16:41
537 查看
创建一个 jQuery 插件所推荐的方法是,先创建一个允许使用美元符号 ($) 的包装器函数。在默认情况下,美元符号可能与其他 JavaScript 框架发生冲突,如果将插件包装在一个函数中,就不会出现冲突。所以推荐使用下面代码创建jQuery插件:
上面代码,jQuery 关键字被应用到包装器函数中,这允许您在插件中使用美元符号,就像使用 fn 属性时那样。包装器函数就绪后,就可以在整个插件的任何地方使用美元符号代替 jQuery 关键字,不会干扰其他第三方插件。
插件代码
页面代码
效果如下
这就是我们想要的效果
创建一个 jQuery 插件所推荐的方法是,先创建一个允许使用美元符号 ($) 的包装器函数。在默认情况下,美元符号可能与其他 JavaScript 框架发生冲突,如果将插件包装在一个函数中,就不会出现冲突。所以推荐使用下面代码创建jQuery插件:
(function($) { $.fn.accordion = function() { // 添加插件代码 }; })(jQuery);
上面代码,jQuery 关键字被应用到包装器函数中,这允许您在插件中使用美元符号,就像使用 fn 属性时那样。包装器函数就绪后,就可以在整个插件的任何地方使用美元符号代替 jQuery 关键字,不会干扰其他第三方插件。
插件代码
(function($) { $.fn.accordion = function(options) { return this.each(function() { var dts = $(this).children('dt'); dts.click(onClick); dts.each(reset); }); function onClick() { $(this).siblings('dt').each(hide); if($(this).next().is(":hidden")){ $(this).next().slideDown('fast'); return false; } if($(this).next().is(":visible")){ $(this).next().slideUp('fast'); return false; } } function hide() { $(this).next().slideUp('fast'); } function reset() { $(this).next().hide(); } } })(jQuery);
页面代码
<!DOCTYPE HTML> <html> <head> <title>自定义你的插件</title> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script src="aa.js"></script>//插件js <script> $(function(){ //调用你的自定义插件 $('dl#my-accordion').accordion();//调用插件 }); </script> </head> <body> <dl class="accordion" id="my-accordion"> <dt>Section 1</dt> <dd>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam.</dd> <dt>Section 2</dt> <dd>Vestibulum a velit eu ante scelerisque vulputate.</dd> <dt>Section 3</dt> <dd>Nam mi. Proin viverra leo ut odio. Curabitur malesuada.</dd> <dt>Section 4</dt> <dd>Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc.</dd> </dl> </body> </html>
效果如下
这就是我们想要的效果
相关文章推荐
- Jquery动态生成的html元素,然后给其中的元素添加样式
- JQuery插件最佳实践
- JQUERY实现网页右下角固定位置展开关闭特效的方法
- jQuery的图像裁剪插件Jcrop
- jquery基础介绍-转
- jquery解除hover事件的绑定方式
- jquery autocomplete中文乱码问题
- jquery easyui datagrid的getSelections问题
- JQuery学习总结
- jquery操作表格行(增加、删除)
- JQ技术实现注册页面带有校验密码强度
- jquery实现TAB选项卡鼠标经过带延迟效果的方法
- 编写JQuery插件
- Jquery实现行内编辑
- jquery-qrcode生成二维码
- jquery的 ajax返回值为中文时乱码解决方法
- 使用Jquery--Jsp与servlet之间的数据交互
- jquery中tree节点取消选择
- jquery实现动画部分
- jquery 判断单/复选框是否被选中