我跟随这个例子: http://jqueryui.com/slider/#slider-vertical
我已将此示例中的确切代码(将div /输入名称更改为我自己的代码)复制到另一个网页,但Chrome会抛出Uncaught TypeError: undefined is not a function
并且滑块永远不会出现。
不起作用的确切代码:
$(function() {
$( "#timeframe_slider" ).slider({
orientation: "vertical",
range: "min",
min: 0,
max: 100,
value: 60,
slide: function( event, ui ) {
$( "#month_week" ).val( ui.value );
}
});
$( "#month_week" ).val( $( "#timeframe_slider" ).slider( "value" ) );
});
当我将代码更改为简单的代码时:
$( "#timeframe_slider" ).slider({
orientation: "horizontal",
range: "min",
min: 0,
max: 1,
value: 0,
slide: function( event, ui ) {
if (ui.value === 0) {
$( "#month_week" ).val("Month");
} else {
$( "#month_week" ).val("Week");
}}
});
它完美无缺。
我对javascript很新,但我明白有:
$(function() {
code goes here
};
是为了确保页面准备就绪。有人可以解释为什么在尝试使用该示例时,.slider()函数突然不起作用吗?
更新 尝试在jsfiddle中重新创建它时,不会出现此问题。但这正是我所看到的:
答案 0 :(得分:0)
要检查的一件事是,您不会意外地将jquery包括两次,导致滑块插件在$(function() {
包装的代码触发时不再附加到$。
对不起,这是一个评论,然后是答案,但我还没有足够的声誉发表评论。