I


封装成方法如下:
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
/*  定义一个函数 addClass() 用来向元素中添加指定的class属性值
参数:
obj :要添加class属性值的元素
cn : 套添加的class属性 为字符串
*/
function addClass(obj, cn) {
if (!hasClass(obj, cn)) {
obj.className += " " + cn;
}

};

/*
* 判断一个class中是否含有指定的class属性值
* 参数:
obj :要检查的元素
cn : 检查的class属性 为字符串
*/
function hasClass(obj, cn) {
// 检查obj中是否含有cn

var reg = RegExp("\\b" + cn + "\\b");
return reg.test(obj.className);

};

/**
* 移除指定元素中指定的class属性值
* 参数:
obj :要检查的元素
cn : 检查的class属性 为字符串
*/
function moveClass(obj, cn) {
var reg = RegExp("\\b" + cn + "\\b");
obj.className = obj.className.replace(reg, "");
};

/**
* 切换class属性值
* 参数:
obj :要检查的元素
cn :检查的class属性 为字符串
*/
function toggleClass(obj, cn) {
if (hasClass(obj, cn)) {
moveClass(obj, cn);
} else {
addClass(obj, cn);
}

};

愿你的坚持终有收获。