簡體   English   中英

如何在JS中更新變量

[英]How to update variable in JS

如何從函數更新變量? 我有這個。 但是兩個變量在“ updateFilter()”之后仍為“ 0”。 如何在不運行滑塊功能的情況下執行“ 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);
}

對不起我的英語不好

代碼的問題是您要定義與全局范圍中定義的變量相同的變量

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方法應該是

 stop: function( event, ui ) {
            var1 = ui.values[ 0 ], // <- changes on move
            var2 = ui.values[ 1 ]; // <- changes on move
        updateFilter();

你為什么不通過變量直接像這樣起作用

updateFilter(var1, var2);


function updateFilter(var1, var2) {
    loadAjax(var1, var2);
}

http://jsfiddle.net/kcg1hmsu/

您的值為0,因為您正在隱藏全局變量,因此只需刪除stop函數中的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();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM