-
-
Notifications
You must be signed in to change notification settings - Fork 60
/
Copy pathcomponent.js
55 lines (40 loc) · 991 Bytes
/
component.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
53
54
55
COMPONENT('clickbox', function(self, config, cls) {
var cls2 = '.' + cls;
self.readonly();
self.blind();
self.nocompile && self.nocompile();
self.init = function() {
$(document).on('click', function() {
$(cls2 + '-visible').rclass(cls + '-visible');
});
};
self.make = function() {
self.aclass(cls);
var el = self.element;
el.wrapInner('<nav></nav>');
el.prepend('<div><i class="ti ti-caret-down"></i><span></span></div>');
self.event('click', function() {
var c = cls + '-visible';
if (self.hclass(c)) {
self.rclass(c);
return;
}
self.aclass(c, 50);
});
self.refresh();
};
self.refresh = function() {
var query = NAV.query;
var value = query[config.param] || '';
var all = self.find('a');
if (!value)
all = all.eq(0);
all.each(function() {
var t = this;
if (t.href.indexOf(config.param + '=' + value) !== -1) {
var el = $(t).aclass('selected');
self.find('span').html(el.text());
}
});
};
});