我现在收到此 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/