一个通过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 相关文章推荐
ext监听事件方法[初级篇]
Apr 27 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
Jan 09 Javascript
JavaScript获取网页中第一个链接ID的方法
Apr 03 Javascript
Jquery实现遮罩层的方法
Jun 08 Javascript
jquery validate demo 基础
Oct 29 Javascript
AngularJS动态绑定HTML的方法分析
Nov 07 Javascript
JavaScript仿百度图片浏览效果
Nov 23 Javascript
iview table render集成switch开关的实例
Mar 14 Javascript
JavaScript中数组去重的5种方法
Jul 04 Javascript
解决vue+elementui项目打包后样式变化问题
Aug 03 Javascript
vue实现下拉菜单树
Oct 22 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制作静态网站的模板框架(一)
2006/10/09 PHP
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
Python中特殊函数集锦
2015/07/27 Python
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Django 路由控制的实现代码
2018/11/08 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
快速查找Python安装路径方法
2020/02/06 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
公司企业表扬信
2014/01/11 职场文书
高二美术教学反思
2014/01/14 职场文书
竞聘书模板
2014/03/31 职场文书
搞笑老公保证书
2015/02/26 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
英文投诉信格式
2015/07/03 职场文书
你会写请假条吗?
2019/06/26 职场文书
六年级作文之预言作文
2019/10/25 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers