en.javascript.info/2-ui/5-widgets/2-widgets-structure/6-voter-add-step/solution.view/voter.js
2015-02-18 21:23:40 +03:00

33 lines
710 B
JavaScript

function Voter(options) {
var elem = this._elem = options.elem;
this._voteElem = elem.querySelector('.vote');
elem.onmousedown = function() {
return false;
};
elem.onclick = this._onClick.bind(this);
}
Voter.prototype._onClick = function(event) {
if (event.target.closest('.down')) {
this._voteDecrease();
} else if (event.target.closest('.up')) {
this._voteIncrease();
}
};
Voter.prototype._voteIncrease = function() {
this._voteElem.innerHTML = +this._voteElem.innerHTML + 1;
};
Voter.prototype._voteDecrease = function() {
this._voteElem.innerHTML = +this._voteElem.innerHTML - 1;
};
Voter.prototype.setVote = function(vote) {
this._voteElem.innerHTML = +vote;
};