我在代码中使用bootstrap slider。我能够使滑块工作。我的要求是根据所选的值更改滑块所选部分的颜色。我能够改变颜色,但有这么一个延迟。我已经尝试显示在另一个输入框中选择的值,这又需要更长的时间来反映。我不确定这是因为延迟响应/代码不对。这一定很简单,但我被困了,因为我是一个JS新手。任何帮助将受到高度赞赏。这是我使用过的代码。提前致谢!
包含的文件:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script src="http://seiyria.com/bootstrap-slider/js/bootstrap-slider.js"></script>
<link href="http://seiyria.com/bootstrap-slider/css/bootstrap-slider.css" rel="stylesheet">
<link href="http://seiyria.com/bootstrap-slider/dependencies/css/bootstrap.min.css" rel="stylesheet">
HTML
<input
type="text"
Id = "score"
name="scoreSlide"
data-provide="slider"
data-slider-ticks="[1, 2, 3]"
data-slider-ticks-labels='["short", "medium", "long"]'
data-slider-min="1"
data-slider-max="3"
data-slider-step="1"
data-slider-value="3"
data-slider-tooltip="hide"
/>
<input type="text" ID="lbl" />
JAVA SCRIPT / JQUERY
<script>
var RGBChange = function() {
if(r.getValue() ==1 ){
$('.slider-selection').css('background', 'red');
document.getElementById("lbl").value = r.getValue();
}
else{
$('.slider-selection').css('background', 'green');
document.getElementById("lbl").value = r.getValue();
}
};
var r = $('#score').slider()
.on('slide', RGBChange)
.data('slider');
</script>
答案 0 :(得分:1)
尝试使用slideStart代替Slide:
var r = $('#score').slider()
.on('slideStart', RGBChange)
.data('slider');