一个通过script自定义属性传递配置参数的方法


Posted in Javascript onSeptember 15, 2014

刚刚开始正式的职业生涯,最近几天在给公司做统一的头部js,想到了一个通过script自定义属性传递配置参数的方法。

有时候我们编写了一个js插件,要使用该插件需要先在html中引入该插件Js,然后再添加一个script标签,在里面调用。如一个图片切换的插件。其代码大致如下:

$.fn.picSwitch = function(option){
//这里是图片切换的代码
}

再引入了该插件后,需要再在另外的script标签内加入调用代码

$('#pic').picSwitch({
'speed' : '400',
'derection' : 'left'
//... 这里是配置
})

这当然没有什么问题,但有些时候我们并不想再多添加个script标签,如果只引入script标签,那该怎么做怎么传递配置参数呢?

这时候我们就可以利用script上的自定义属性进行传递配置参数。在这之前先要对该图片切换插件进行处理。修改后代码如下:

$.fn.picSwitch = function(){
//这里是图片切换的代码
};

//写好插件后就直接调用
$('这里是选择器,需要在script标签上获取').picSwitch('这里是配置参数,需要在script标签上获取');

接下来就是用script上传递参数了,在html页面上如下引用该js插件。

<head>
<script src='/script/picSwitch.js' id='picSwitch' obj='#pic' option='{"speed":"400","derection":"left"}'></script>
</head>
<body>
<div id="pic">
//这里是具体结构
</div>
</body>

最后再修改插件为:

$.fn.picSwitch = function(){
//这里是图片切换的代码

};

//写好插件后就直接调用
var script = $('#picSwitch'),//标签上的id
selector = script.attr('selector'),
option = JSON.parse(script.attr('option'));//标签上的是字符串需要转为json对象
$(selector).picSwitch(option);

这样就只用了一个标签便实现了功能,配置变化只需要改变script自定义属性即可。

Javascript 相关文章推荐
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
Mar 01 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
Javascript中克隆一个数组的实现代码
Dec 06 Javascript
jquery 页面滚动到底部自动加载插件集合
Jan 31 Javascript
简单实现异步编程promise模式
Jul 31 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
Mar 06 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
JS脚本加载后执行相应回调函数的操作方法
Feb 28 Javascript
vue 简单自动补全的输入框的示例
Mar 12 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
原生JS实现pc端轮播图效果
Dec 21 Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 #Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 #Javascript
javascript使用数组的push方法完成快速排序
Sep 15 #Javascript
一款由jquery实现的整屏切换特效
Sep 15 #Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 #Javascript
用javascript关闭本窗口不弹出询问框的方法
Sep 12 #Javascript
javascript trim函数在IE下不能用的解决方法
Sep 12 #Javascript
You might like
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
python中调试或排错的五种方法示例
2019/09/12 Python
python爬虫 requests-html的使用
2020/11/30 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
柏林通行证:Berlin Pass
2018/04/11 全球购物
什么是java序列化,如何实现java序列化
2012/11/14 面试题
售后服务科岗位职责范文
2013/11/13 职场文书
学校采购员岗位职责
2014/01/02 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
给老师的感谢信
2015/01/20 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书