javascript - jQuery - 未捕获的类型错误 : string is not a function

标签 javascript jquery

我现在收到此 jQuery - 未捕获类型错误:字符串不是函数 错误

可能出了什么问题?

下面是我的代码

$(function(){
    $('#tabs').tabs();
    inputs = $('input[type="range"]#defaultSlider');
    slider = '#slider-one';
    tab = '#tabs-1';
    slider(inputs,slider,tab);

    var firstTab = $('#tabs ul li')[0];
    var secondTab = $('#tabs ul li')[1];
    $(firstTab).live('click',function(){
        $('#slider-two').hide();
        $('#slider-one').show();
        inputs = $('input[type="range"]#defaultSlider');
        slider = '#slider-one';
        tab = '#tabs-1';
        slider(inputs,slider,tab);
    });
    $(secondTab).live('click',function(){
        $('#slider-two').show();
        $('#slider-one').hide();
        inputs = $('input[type="range"]#defaultSlider-2');
        slider = '#slider-two';
        tab = '#tabs-2';
        slider(inputs,slider,tab);
    });

    function slider(inputs, slider, tab){
        $(inputs).live('change',function (event) {
            console.log(inputs);
            var updatedRangeValue = event.target.value;
            var currentValue = updatedRangeValue - 1
            currentStep = $(slider + ' dl.steps dt')[currentValue];
            $(slider + ' dl.steps dt').removeClass('active');
            $(currentStep).addClass('active');
            var currentArticle = $(tab + ' article')[currentValue];
            $(tab + ' article').hide();
            $(currentArticle).show();

            value = (event.target.value - event.target.min)/(event.target.max - event.target.min);
            $(event.target).css({
                backgroundImage: '-webkit-gradient(linear, left top, right top, color-stop(' + value + ', #007fb0), color-stop(' + value + ', #024069))'
            });
        });
    }

});

最佳答案

您的变量名称有冲突:

    slider = '#slider-one';     // You re-define `slider` here
    tab = '#tabs-1';
    slider(inputs,slider,tab);  // Then you try to call the original `slider`

slider 重命名为其他名称,它应该可以正常工作(您有两个如下所示的代码块):

    slider1 = '#slider-one';
    tab = '#tabs-1';
    slider(inputs,slider1,tab);

关于javascript - jQuery - 未捕获的类型错误 : string is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13931051/

相关文章:

javascript - React/Axios api 调用返回 Promise

javascript - 初始化空表单中断页面; knockout

javascript - JQuery DOM 和 .click() 的问题

javascript - jQuery addClass 覆盖前一个元素

javascript - 阻止 split 失去焦点

javascript - UIkit下拉菜单隐藏,如果通过javascript隐藏它又会再次出现

javascript - 使用 SVG 元素检查直线是否与圆相交

javascript - webpack:生产构建后缺少自定义样式

javascript - 如何在刷新容器 div 后应用 jQuery 数据表?

Javascript函数点击一个按钮并获取不同的值