我正在使用tutorial by Thoriq Firdaus
的JavaScript Slider栏的修改版本我正在尝试使用value
将变量console.log(value)
打印到我的Firefox控制台,但我一直收到以下错误
ReferenceError:未定义值
的console.log(值)
谁能告诉我出了什么问题?
$(function () {
var initX=0,minX=50,width=400;
var slider = $('#slider'),
tooltip = $('.tooltip');
slider.slider({
//Config
min: -50,
max: +50,
value: 0,
start: function (event, ui) {
tooltip.fadeIn('fast');
},
//Slider Event
slide: function (event, ui) {
var value = slider.slider('value'),
volume = $('.volume');
tooltip.css('left', initX+(value*width)/100).text(ui.value);
},
stop: function (event, ui) {
},
});
initX=slider.slider("value");
console.log(value)
var txt=initX;
initX+=(minX*width)/100;
tooltip.css('left',initX).text(txt);
});
答案 0 :(得分:1)
正如@snemy和@SLaks所解释的那样,变量'value'仅在包含其声明的函数调用的范围内可见。
因此,澄清一下,这将有效:
//Slider Event
slide: function (event, ui) {
var value = slider.slider('value'),
volume = $('.volume');
console.log(value);
tooltip.css('left', initX+(value*width)/100).text(ui.value);
}
但不是你尝试过的,因为在你放置console.log
语句的地方看不到变量值;并且可能尚未调用slide
函数。
如果您不熟悉该语言,可以详细了解范围here。