我正在尝试制作这样的http://jqueryui.com/slider/#range范围小部件。我已经复制了源代码,它导致文本输入而不是滑块。这是我正在使用的代码。另外,我将样式属性移到了链接的CSS文件。这样,输出从无变为文本输入。

这是我的头:

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">

  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  <script src="../jscript/questions.js"></script>
  <script>
     jQuery.noConflict()
  $(function() {
    $('#slider-range').slider({
      range: true,
      min: 25,
      max: 500,
      values: [ 75, 300 ],
      slide: function( event, ui ) {
        jQuery( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
      }
    });
    jQuery( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
      " - $" + jQuery( "#slider-range" ).slider( "values", 1 ) );
  });
  </script>
  <link href='http://fonts.googleapis.com/css?family=Roboto:400,500,900,300' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" type="text/css" href="../CSS/questions.css">
</head>


这是小部件的html:

<p>
  <label for="amount">Price range:</label>
  <input type="text" id="amount"  >
</p>

<div id="slider-range"></div>


这是CSS:

#slider-range{
  border:0;
  color:#f6931f;
  font-weight:bold;
}


谢谢!

最佳答案

您的问题源于声明jQuery.noConflict()

这样,您将不再能够使用jQuery直接访问$

如果您需要noConflict,则可以通过更改以下内容来修复代码:

jQuery.noConflict()
$(function() {




jQuery.noConflict()
jQuery(function($) {/* "$" argument allows using "$" inside the ready handler*/


Working demo of your code

了解如何使用浏览器控制台检查错误。您应该看到"$" is not defined或类似的错误,具体取决于浏览器

10-06 03:11