0

我正在尝试制作像这样的范围小部件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;
}

谢谢!

4

2 回答 2

1

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

通过这样做,您将不再能够直接jQuery使用$

如果需要noConflict,可以通过更改来修复代码:

jQuery.noConflict()
$(function() {

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

您的代码的工作演示

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

于 2014-07-19T23:48:23.617 回答
0
jQuery.noConflict() 

放弃 $ 变量,因此当您在未分配后调用它时。

文档 http://api.jquery.com/jquery.noconflict/

工作小提琴 http://jsfiddle.net/rniemeyer/MfegM/

于 2014-07-20T00:01:12.387 回答