我正在尝试制作这样的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
或类似的错误,具体取决于浏览器