2012-11-07 64 views
0

我希望有人可以幫助我解決以下「問題」。jQuery如何限制遞減值

從700學分開始,客戶可以購買出現在縮略圖(.box)中的項目 添加縮略圖/項目需要花費25學分,因此當客戶端剩餘少於25個時,應該禁用添加按鈕。 (順便說一下,這很好用)

但是在將來我想要更簡單的操作來減少或增加不同金額的信用。在我的示例中,我做了一個示例「操作」,因此當客戶點擊橙色方塊時,它應該減少15個。這就是導致問題的原因。因爲我不知道如何限制不同的遞減值。

例如:如果還有24個學分,客戶不能購買另一個盒子,但應該能夠購買15個學分的東西。 (從來沒有信用不應該低於零)

任何人都可以幫助我完成這個?請記住,我還希望在未來採取更多行動來增加和減少。先謝謝你。

JSFIDDLE

代碼 JS

var counter = 0; 


$("#money").val(250); 

$('#purchase').click(function() { 
    var box = $('<div class="box"' + (counter) + '><div class="yellow"' + (counter) + '><div class="buy"' + (counter) + '></div></div></div>').appendTo('.container'); 
    $("#money").val(Number($("#money").val()) - 26); 

    if ($("#money").val() < 25) { 
     $('#purchase').prop("disabled", true); 
    } 

    $('.buy').click(function() { 
     $(this).fadeOut(); 
    if ($("#money").val() < 25) { 
     $('#purchase').prop("disabled", true); 

     $("#money").val(Number($("#money").val()) - 15); 
} 
    }); 




}); 

HTML

<button id="purchase">Add a box </button> 
<input id="money"></input> 
<div class="container"></div> 
+1

創建一個在每次加/減之後運行的通用函數,根據可用資金的多少可適當地禁用或啓用多個DOM元素。 – Blazemonger

+0

感謝您的回覆,這可能是一種可能性。 Updatemoney()或其他。謝謝 – Opoe

回答

1

檢查了這一點:http://jsfiddle.net/RbnBs/1/

var counter = 0; 


$("#money").val(250); 

$('#purchase').click(function() { 
    if($("#money").val() < 25) 
     return; // or alert('not enough money'); 

    var box = $('<div class="box"' + (counter) + '><div class="yellow"' + (counter) + '><div class="buy"' + (counter) + '></div></div></div>').appendTo('.container'); 
    $("#money").val(Number($("#money").val()) - 25).triggerHandler('change'); 
}); 

$('#money').change(function(){ 
    $('#purchase').prop("disabled", $(this).val() < 25); 
}); 

$('.container').on('click', '.buy', function() { 
    if($("#money").val() < 15) 
     return; // or alert('not enough money'); 
    $(this).fadeOut(); 
    $("#money").val(Number($("#money").val()) - 15).triggerHandler('change');; 
}); 
+0

非常感謝您的回答。我會盡力瞭解你的變化,並儘快回覆它! – Opoe

+0

隨機初學者問題;我注意到if語句不必以花括號開始和結束,這是jquery的一個已知事實嗎? – Opoe

+0

如果你喜歡它,你可以擁有它們。我傾向於忽略它們。這是一個Javascript問題,而不是一個jQuery的問題。 – deerchao