jQuery UI滑块更改“max”值

时间:2014-12-12 14:43:41

标签: javascript jquery jquery-ui

我正在使用jQuery UI滑块来处理我正在进行的赌场游戏项目。我需要能够根据玩家当前的资金来改变“最大”值。首先,滑块正常工作,它将“最大”滑块值设置为1000,玩家开始提取资金。随着'currentBankroll'变量的变化,滑块“max”值不会更新。我插入了一个console.log()代码行来检查变量'currentBankroll'的值,它确认值正在改变,但是滑块“max”值保持在初始值1000并且不更新。为了进一步混淆我,我尝试了一个我在这里找到的解决方案来改变“最大”值。

$('#slider-range-max2').slider("option", "max", 300);

如果我在其中放入一个数字(如300),这行代码将更改滑块“max”值,但如果我使用变量(如'currentBankroll')则无效。如何更改滑块值使用变量?

$(function() {
    console.log("Current Bankroll: " + currentBankroll);
    $("#slider-range-max2").slider({
        range: "max",
        max: 0,
        min: 1,
        max: currentBankroll,
        value: 2,
        slide: function( event, ui ) {
            $("#amount").val( ui.value );
            sliderValue = (ui.value);
        },
        slide : function(event, ui) {
            skillLevelSlots(ui.value);
            wagerAmount = (ui.value);
            $('.wager').html("$" + wagerAmount);
        }
    });
    $('#slider-range-max2').slider("option", "max", 300);
});

1 个答案:

答案 0 :(得分:2)

右 - 您在某个时间定义滑块并使用currentBankroll设置最大值。这是创建滑块时的值,但除非您重新创建滑块,否则不会更改。要使其更改,只要currentBankroll发生更改,您就可以调用一个更改值的函数。

function currentBankrollChange(currentBankroll){
     $('#slider-range-max2').slider("option", "max", currentBankroll);
}

或当玩家资金更改时,您可以致电:

 $('#slider-range-max2').slider("option", "max", currentBankroll);