直接贴代码,以滑动条为例,原理懂的都懂:
var slider = document.createElement('input');
var onchange = function(){
var percent = ((slider.value - slider.min) / (slider.max - slider.min)) * 100;
slider.style.backgroundSize = percent + '% ' + '100%';
};
var valueProp = Object.getOwnPropertyDescriptor(slider.__proto__, 'value');
Object.defineProperties(slider, {
value: {
configurable: true,
get:function(){
return valueProp.get.call(this);
},
set:function(value){
valueProp.set.call(this, value);
onchange();
}
}
});