// // spinButtons.js // // Created by David Rowe on 20 Apr 2016 // Copyright 2016 High Fidelity, Inc. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // function hoverSpinButtons(event) { var input = event.target, x = event.offsetX, y = event.offsetY, width = input.offsetWidth, height = input.offsetHeight, SPIN_WIDTH = 11, SPIN_MARGIN = 2, maxX = width - SPIN_MARGIN, minX = maxX - SPIN_WIDTH; if (minX <= x && x <= maxX) { if (y < height / 2) { input.classList.remove("hover-down"); input.classList.add("hover-up"); } else { input.classList.remove("hover-up"); input.classList.add("hover-down"); } } else { input.classList.remove("hover-up"); input.classList.remove("hover-down"); } } function unhoverSpinButtons(event) { event.target.classList.remove("hover-up"); event.target.classList.remove("hover-down"); } function augmentSpinButtons() { var inputs, i, length; inputs = document.getElementsByTagName("INPUT"); for (i = 0, length = inputs.length; i < length; i += 1) { if (inputs[i].type === "number") { inputs[i].addEventListener("mousemove", hoverSpinButtons); inputs[i].addEventListener("mouseout", unhoverSpinButtons); } } }