// 获取样式
function getStyle(obj, attr) {
if (obj.currentStyle) {
return obj.currentStyle([attr])
} else {
return getComputedStyle(obj, false)[attr]
}
}
//事件绑定
function addEvent(obj,sEv,fn){
if(obj.addEventListener){
//兼容ie9+ FF Chrome
obj.addEventListener(sEv,fn,false);
}else{
//兼容IE系
obj.attachEvent('on'+sEv,fn);
}
}
//事件解绑
function removeEvent(obj,sEv,fn){
if(obj.removeEventListener){
//兼容ie9+ FF Chrome
obj.removeEventListener(sEv,fn,false);
}else{
//兼容IE系
obj.detachEvent('on'+sEv,fn);
}
}
/**
* 是否有样式名
* @param el Dom对象
* @param className 样式名
*/
function hasClass(el: Element, className: any) {
const reg = new RegExp("(^|\\s)" + className + "(\\s|$)");
return reg.test(el.className);
}
/**
* 添加class
* @param el Dom对象
* @param className 样式名
*/
function addClass(el: Element | null, className: any) {
if (el == null || this.hasClass(el, className)) {
return;
}
const newClass = el.className.split(" ");
newClass.push(className);
el.className = newClass.join(" ");
}
/**
* 删除class
* @param el Dom对象
* @param className 样式名
*/
function removeClass(el: Element | null, className: string) {
if (el == null || !this.hasClass(el, className)) {
return;
}
const newClass = el.className.split(" ");
newClass.indexOf(className);
newClass.splice(newClass.indexOf(className), 1);
el.className = newClass.join(" ");
}
常用函数库
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这篇文章是我的"从零开始构建自己的js库"系列的最后一篇文章了。这三篇文章提到的一些方法,有一些是我工作中用到的,...