weixin_33712881 2015-01-14 13:45 采纳率: 0%
浏览 240

如何在JS中更新变量

How can i update variable from function? I have this. But both variables still "0" after "updateFilter()". How can i do this without run "loadAjax(var1, var2)" from slider function?

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);
}

sorry for my english

  • 写回答

2条回答 默认 最新

  • weixin_33682790 2015-01-14 13:47
    关注

    Problem with you code is you are defining same varible you defined in global scope

    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();
    

    instead of above code stop method should be

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

    why dont you pass varible to function directly like this

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

报告相同问题?