RBH*_*RBH 0 javascript internet-explorer
我有一个页面,其中包含三个使用rangeslider.js(andreruffert.github.io/rangeslider.js)的滑块。
我在IE8中动态更改滑块的最小值和最大值时遇到麻烦。在IE9 +和Webkit中,当我在输入标签中动态设置min和max属性时,它可以正常工作。
在IE8中,它只会忽略页面加载后我通过脚本设置的任何最小值和最大值。
任何想法将不胜感激。
小智 6
Rangeslider.js有一个update方法,如果元素的任何属性发生更改,都可以调用该方法。
$element.rangeslider('update', true);
Run Code Online (Sandbox Code Playgroud)
$element.rangeslider('update', true);
Run Code Online (Sandbox Code Playgroud)
var $document = $(document);
var $element = $('input[type=range]');
var $min = $('input[name="min"]');
var $max = $('input[name="max"]');
var $step = $('input[name="step"]');
var output = document.querySelector('output');
// Set initial output value
output.innerHTML = $element[0].value;
// Update output value
$document.on('input', 'input[type="range"]', function() {
output.innerHTML = this.value;
});
// Initialize rangeslider.js
$element.rangeslider({
polyfill: false
});
// Example functionality to demonstrate programmatic attribute changes
$document.on('click', '#js-example-change-attributes', function(e) {
var attributes = {
min: $min[0].value,
max: $max[0].value,
step: $step[0].value
};
// update attributes
$element.attr(attributes);
// pass updated attributes to rangeslider.js
$element.rangeslider('update', true);
});Run Code Online (Sandbox Code Playgroud)
body {
font-family: sans-serif;
padding: 30px;
margin: 0 auto;
max-width: 400px;
}
h3 {
color: rgba(0,0,0, .4);
}
output {
display: block;
text-align: center;
}Run Code Online (Sandbox Code Playgroud)