Rickshaw.Graph.RangeSlider TypeError: $(element).slider 不是函数

Posted

技术标签:

【中文标题】Rickshaw.Graph.RangeSlider TypeError: $(element).slider 不是函数【英文标题】:Rickshaw.Graph.RangeSlider TypeError: $(element).slider is not a function 【发布时间】:2012-11-18 17:02:36 【问题描述】:

我有这个错误: TypeError: $(element).slider 不是函数

使用以下脚本:

Rickshaw.namespace('Rickshaw.Graph.RangeSlider');

Rickshaw.Graph.RangeSlider = function(args) 

var element = this.element = args.element;
var graph = this.graph = args.graph;

$( function() 
    $(element).slider( 

        range: true,
        min: graph.dataDomain()[0],
        max: graph.dataDomain()[1],
        values: [ 
            graph.dataDomain()[0],
            graph.dataDomain()[1]
        ],
        slide: function( event, ui ) 

            graph.window.xMin = ui.values[0];
            graph.window.xMax = ui.values[1];
            graph.update();

            // if we're at an extreme, stick there
            if (graph.dataDomain()[0] == ui.values[0]) 
                graph.window.xMin = undefined;
            
            if (graph.dataDomain()[1] == ui.values[1]) 
                graph.window.xMax = undefined;
            
        
     );
 );

$(element)[0].style.width = graph.width + 'px';

graph.onUpdate( function() 

    var values = $(element).slider('option', 'values');

    $(element).slider('option', 'min', graph.dataDomain()[0]);
    $(element).slider('option', 'max', graph.dataDomain()[1]);

    if (graph.window.xMin == undefined) 
        values[0] = graph.dataDomain()[0];
    
    if (graph.window.xMax == undefined) 
        values[1] = graph.dataDomain()[1];
    

    $(element).slider('option', 'values', values);

 );
;

从以下页面: https://github.com/shutterstock/rickshaw/blob/master/src/js/Rickshaw.Graph.RangeSlider.js

javascript 调试器显示这一行:slide: function(event, ui)

您能告诉我解决问题的方法吗?谢谢!

【问题讨论】:

【参考方案1】:

您应该在使用滑块之前导入 jqueryui。

http://jqueryui.com/slider/

【讨论】:

以上是关于Rickshaw.Graph.RangeSlider TypeError: $(element).slider 不是函数的主要内容,如果未能解决你的问题,请参考以下文章