一个通过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 相关文章推荐
通过JAVASCRIPT读取ASP设定的COOKIE
Feb 15 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 Javascript
JavaScript每天必学之基础知识
Sep 17 Javascript
微信小程序  action-sheet详解及实例代码
Nov 09 Javascript
JS数组排序方法实例分析
Dec 16 Javascript
Bootstrap CSS布局之按钮
Dec 17 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
Dec 17 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
基于vuejs实现一个todolist项目
Apr 11 Javascript
从0到1搭建element后台框架优化篇(打包优化)
May 12 Javascript
vue项目在webpack2实现移动端字体自适配功能
Jun 02 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
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php加密解密字符串示例
2016/10/13 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
javascript几个易错点记录
2014/11/26 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python运行时间的几种方法
2016/06/17 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
C++的几个面试题附答案
2016/08/03 面试题
数据库的约束含义
2012/09/09 面试题
初中升旗仪式演讲稿
2014/05/08 职场文书
教研处工作方案
2014/05/26 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
辞职信如何写
2015/02/27 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
vue的项目如何打包上线
2022/04/13 Vue.js