gpt4 book ai didi

javascript - 如何动态更改 Rangeslider.js (IE8) 中的最小值和最大值

转载 作者:行者123 更新时间:2023-11-28 12:27:37 25 4
gpt4 key购买 nike

我有一个使用 rangeslider.js (andreruffert.github.io/rangeslider.js) 的包含三个 slider 的页面。

我在 IE8 中动态更改 slider 的最小值和最大值时遇到问题。在 IE9+ 和 webkit 中,当我在输入标记中动态设置 min 和 max 属性时,它工作正常。

在 IE8 中,它只是忽略我在页面加载后通过脚本设置的任何最小值和最大值。

任何想法将不胜感激。

最佳答案

rangeslider.js有一个 update 方法,如果元素的任何属性发生更改,您可以调用该方法。

$element.rangeslider('update', true);

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);
});
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;
}
<link href="http://andreruffert.github.io/rangeslider.js/assets/rangeslider.js/dist/rangeslider.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://andreruffert.github.io/rangeslider.js/assets/rangeslider.js/dist/rangeslider.min.js"></script>

<h2>rangeslider.js</h2>
<h3>Programmatic attribute changes</h3>
<br>
<input type="range" min="0" max="100">
<br>
<output></output>
<br>
<label>
<input type="number" name="min" value="10"> <code>min</code>
</label>
<br>
<label>
<input type="number" name="max" value="100"> <code>max</code>
</label>
<br>
<label>
<input type="number" name="step" value="5"> <code>step</code>
</label>
<br>
<br>
<button id="js-example-change-attributes">Change attributes</button>

关于javascript - 如何动态更改 Rangeslider.js (IE8) 中的最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26405756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com