如何从功能更新变量? 我有这个。但这两个变量仍然是" 0"在" updateFilter()"之后。 如果没有运行" loadAjax(var1,var2)"我怎么能这样做呢?从滑块功能?
var var1 = 0,
var2 = 0;
$("#slider").slider({
// options...
stop: function( event, ui ) {
var var1 = ui.values[ 0 ], // <- changes on move
var2 = ui.values[ 1 ]; // <- changes on move
updateFilter();
}
});
function updateFilter() {
loadAjax(var1, var2);
}
抱歉我的英文
答案 0 :(得分:1)
代码问题是您定义了在全局范围中定义的相同变量
var var1 = 0,
var2 = 0;
//in function below you are redefining var1 and var2 varible please dont do that
stop: function( event, ui ) {
var var1 = ui.values[ 0 ], // <- changes on move
var2 = ui.values[ 1 ]; // <- changes on move
updateFilter();
而不是上面的代码停止方法应该是
stop: function( event, ui ) {
var1 = ui.values[ 0 ], // <- changes on move
var2 = ui.values[ 1 ]; // <- changes on move
updateFilter();
为什么不直接将varible传递给函数
updateFilter(var1, var2);
function updateFilter(var1, var2) {
loadAjax(var1, var2);
}
答案 1 :(得分:0)
您的值为0,因为您正在隐藏全局变量,您只需删除停止函数中的 var
$("#slider").slider({
// options...
stop: function( event, ui ) {
var1 = ui.values[ 0 ], // <- changes on move
var2 = ui.values[ 1 ]; // <- changes on move
console.log(var1, var2);
updateFilter();
}
});