这次给大家带来原生js怎么封装插件,原生js封装插件的注意事项有哪些,下面就是实战案例,一起来看一下。
今天介绍一下怎么写属于自己的插件,建议看之前温习一下面向对象;
我就写个简单的重置样式的插件,话不多说先上代码;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | ( function (win, doc) {
var defaultSettings = {
color: "red" ,
background: "blue" ,
border: "2px solid #000" ,
fontSize: "30px" ,
textAlign: "center" ,
width: "200px" ,
borderRadius: "5px"
};
function SetStyles(options) {
var self = this;
if (!options) {
throw new Error( "请传入配置参数" );
}
self = Object.assign(self, defaultSettings, options);
self.container = doc.querySelector(self.container) || doc.querySelectorAll(self.container);
self._changeStyles();
}
SetStyles.prototype = {
_changeStyles: function () {
var self = this;
for ( var pro in self) {
if (pro == "container" ) {
continue ;
}
if (pro == 'text' && typeof self[pro]== 'string') {
self.container.innerText = self[pro];
continue ;
} else if (pro == 'text' && typeof self[pro]== ' function '){
self.container.innerText = self[pro]();
continue ;
}
self.container.style[pro] = self[pro];
}
}
}
win.SetStyles = SetStyles;
})(window, document)
var a = new SetStyles({
container: "#test" ,
background: "#fff" ,
textAlign: "center" ,
text: function (){
return "我是文本" ;
}
});
|
我的这份代码应该足够简单,看不懂的说明基础还不够哦,自己敲一敲,有问题的地方,自己console.log一下吧。
首先定义下一默认的参数defaultSettings
然后写个构造函数,里面为什么要用Object.assign合并对象,因为默认配置里有的你不一定全都写,不写的就默认为默认参数,有的就选择你写的参数,所以options放在后面;
最后把方法写在原型里。
方法一般写在原型里,属性写在构造函数里。
大家应该都能看的懂这段代码的功能,重置css样式,和jquery的css()函数类似。
但是不推荐大家用这个,毕竟遵循原则,尽量少用js去操作dom,毕竟这种代价是很昂贵的,我写这个只是为了让大家了解一下如何封装插件,要去更改css样式,不如多写几个类,要用那种样式,换个类名就行。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~