一个通过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中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
使用JavaScript和C#中获得referer
Nov 14 Javascript
基于Jquery和html5的7款个性化地图插件
Nov 17 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
Vue学习笔记之表单输入控件绑定
Sep 05 Javascript
javascript input输入框模糊提示功能的实现
Sep 25 Javascript
JS实现的简单分页功能示例
Aug 23 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
浅谈vue中组件绑定事件时是否加.native
Nov 09 Javascript
在antd中setFieldsValue和defaultVal的用法
Oct 29 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/27 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
js实现车辆管理系统
2020/08/26 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
python根据unicode判断语言类型实例代码
2018/01/17 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python修改FTP服务器上的文件名
2019/09/11 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
基于python实现对文件进行切分行
2020/04/26 Python
Keras搭建自编码器操作
2020/07/03 Python
python实现粒子群算法
2020/10/15 Python
python递归函数用法详解
2020/10/26 Python
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
群众路线教育实践活动实施方案
2014/10/31 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技