DOM, , . , :
eachClass('work', function(work) {
eachSelector(work, 'li', function(li) {
on(li, 'click', function() {
eachChild(parent(li), active.remove);
active.add(li);
});
});
});
eachClass, eachSelector, eachChild, parent on, - . 2-3 . , , .
function eachClass(cls, fn) {
[].forEach.call(document.getElementsByClassName(cls), fn);
}
active? , :
function makeClassSetter(cls) {
return {
add: function(elt) { elt.classList.add(cls); },
remove: function(elt) {elt.classList.remove(cls); }
};
}
var active = makeClassSetter('active');
. , -. , , .
user663031