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

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

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

rush:js;"> $.fn.picSwitch = function(option){ //这里是图片切换的代码 }

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

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

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

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

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

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

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

rush:js;">

最后再修改插件为:

rush:js;"> $.fn.picSwitch = function(){ //这里是图片切换的代码

};

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

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...