5

嗨,我使用的是在引导滑块中更改选定部分的颜色链接之一中演示的相同应用程序。即使我使用相同的,我也无法继续。你能看到并让我知道我犯了错误的解决方案吗?我已将必要的 .js 和 .css 文件下载到我的系统中,并在我的 html 页面中引用它们。这个滑块我用于一种反馈。从 1 到 10 的 10 个选项将跟随几个问题。当用户选择 1 到 5 时,滑块应显示“红色”(OK),当它在 6 到 8“橙色”(好)和 9 到 10 之间时显示“绿色”(优秀)。请找到我的以下代码并帮助我。提前致谢

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap-slider.js"></script>
<link href="js/bootstrap-slider.css" rel="stylesheet">
<link href="js/bootstrap.min.css" rel="stylesheet">

<style>
#score .slider-selection {
    background: yellow;
}
</style>

<script>
    var r = $('#score').slider()
        .on('slideStart', RGBChange)
        .data('slider');

    var RGBChange = function() {
        alert("called");
        if(r.getValue() >= 1 && r.getValue() <=5 ){
        $('.slider-selection').css('background', 'red');
        document.getElementById("lbl").value = r.getValue();
        }
        else if(r.getValue() > 5 && r.getValue() <=8 ){
        $('.slider-selection').css('background', 'orange');
        document.getElementById("lbl").value = r.getValue();
        }
        else if(r.getValue() >= 1 && r.getValue() <=5 )
    };
</script>

<input
    type="text"
    Id = "score"
    name="scoreSlide"
    data-provide="slider"
    data-slider-ticks="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" 
    data-slider-ticks-labels='["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]' 
    data-slider-min="1"
    data-slider-max="10"
    data-slider-step="1"
    data-slider-value="3",
    data-slider-tooltip="hide"
    /><br>
    <input type="text" ID="lbl" />
4

1 回答 1

1

以下代码执行您的要求。但是,我认为浅蓝色手柄/按钮看起来不太好。

<html>
<head>
<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">
</head>
<body>
<input
type="text"
Id = "score"
name="scoreSlide"
data-provide="slider"
data-slider-ticks="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" 
data-slider-ticks-labels='["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]' 
data-slider-min="1"
data-slider-max="10"
data-slider-step="1"
data-slider-value="3"
data-slider-tooltip="hide"
/>
<input type="text" id="lbl" />
<script>
var r = $('#score').slider()
    .on('slideStop', function(ev){
    var value = r.getValue();
        if(value >= 1 && value <= 5){
            $('.slider-selection').css('background', 'red');
        }
        else if(value > 5 && value <= 8) {
            $('.slider-selection').css('background', 'orange');
        }
        else if(value > 8 && value <= 10) {
            $('.slider-selection').css('background', 'green');
        }
        $('#lbl').val = value;
    })
    .data('slider');
</script>
</body>
</html>
于 2016-11-14T05:51:42.087 回答