首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >范围滑块: jQuery更改值,但滑块不移动

范围滑块: jQuery更改值,但滑块不移动
EN

Stack Overflow用户
提问于 2020-01-18 10:57:35
回答 1查看 712关注 0票数 1

我运行以下程序:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title> Slider </title>
    <!-- jQuery CDN https://code.jquery.com/ -->
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 
    <script type="text/javascript"src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
    $(document).ready(function() {
        console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded"); // jQuery version to console
        $('#slider1').slider({value: "11"});                                // initialize slider
        $("#slider1").slider("option", "value", 2);       
        $("#slider1" ).slider("value", 3 );
        var value = $( "#slider1" ).slider( "option", "value");    // show slider value 
        $('#sliderVal').text("Slider Value: "+value);

        $('#slider1').on('input', function(event) {                     // show slider value when changed
            var valSlider1 =  $(this).attr('id') +"   Value:" +$(this).val();
            $('#sliderVal').text(valSlider1);
        });
    });
    </script>
</head>
<body>
    <p> Slider </p> 
    <input type="range" class="sl" id="slider1"  min="0" max="100" value="99">  
    <p id="sliderVal">...</p                     //display value of slider
</body>
</html>

在运行程序之后,滑块的“拇指”仍然站在99上,输出(id=sliderVal;第二行)说:滑块值:3

我试过了

代码语言:javascript
运行
复制
 $('#slider1').slider({value: "11"});       
 $("#slider1").slider("option", "value", 2);       
 $("#slider1" ).slider("value", 3 );

它们都会改变滑块的值,但是滑块的拇指永远不会移动。当我用鼠标移动滑块的拇指时,将显示正确的值

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-18 11:41:10

只需像这样改变val()$("#slider1").val(2);

代码语言:javascript
运行
复制
$(document).ready(function() {
  $("#slider1").val(11);
  var value = $("#slider1").val();
  $('#sliderVal').text("Slider Value: " + value);

  $('#slider1').on('input', function(event) { 
    var valSlider1 = $(this).attr('id') + "   Value:" + $(this).val();
    $('#sliderVal').text(valSlider1);
  });
});

$('#change').click(function() {
  $("#slider1").val(2);
  $('#sliderVal').text("Slider Value: 2");
});
代码语言:javascript
运行
复制
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<p> Slider </p>
<input type="range" class="sl" id="slider1" min="0" max="100" value="99">
<p id="sliderVal">
</p>

<button id="change">Change</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59799894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档