| /* | |
| * AUI JAVASCRIPT PLUGIN | |
| * 滑动 aui-range | |
| * Copyright (c) 2015 auicss.com @流浪男 QQ:343757327 群:344869952 | |
| */ | |
| (function( window, undefined ) { | |
| "use strict"; | |
| var auiRange = function(params,callback) { | |
| this._init(params,callback); | |
| }; | |
| var time=null; | |
| var distance,offsetLeft,tooltipWidth; | |
| auiRange.prototype = { | |
| _init: function(params,callback) { | |
| var self = this; | |
| distance = Math.abs(params.element.max - params.element.min); | |
| offsetLeft = params.element.offsetLeft; | |
| tooltipWidth = params.element.offsetWidth - 28; | |
| params.element.insertAdjacentHTML('afterend','<div class="aui-range-tip aui-hide">'+params.element.value+'</div>'); | |
| var scaleWidth = (tooltipWidth / distance) * Math.abs(params.element.value - params.element.min); | |
| params.element.nextSibling.style.left = (offsetLeft + scaleWidth - 11)+'px'; | |
| params.element.addEventListener("input",function(){ | |
| self._showTip(params.element,callback); | |
| }); | |
| params.element.addEventListener("touchmove",function(){ | |
| self._showTip(params.element,callback); | |
| }); | |
| params.element.addEventListener("touchend",function(){ | |
| self._hideTip(params.element); | |
| }); | |
| }, | |
| _showTip: function(el,callback){ | |
| el.nextSibling.classList.remove("aui-hide"); | |
| var scaleWidth = (tooltipWidth / distance) * Math.abs(el.value - el.min); | |
| el.nextSibling.style.left = (offsetLeft + scaleWidth - 11)+'px'; | |
| el.nextSibling.innerText = el.value; | |
| callback({ | |
| value:el.value | |
| }); | |
| }, | |
| _hideTip : function(el){ | |
| if (time) { | |
| clearTimeout(time); | |
| } | |
| time = setTimeout(function() { | |
| el.nextSibling.classList.add("aui-hide"); | |
| }, 1500); | |
| } | |
| } | |
| window.auiRange = auiRange; | |
| })(window); | |