2012-05-17 95 views
6

這裏是我的腳本:Javascript增量超過1?

//event handler for item quantity in shopping cart 
    function itemQuantityHandler(p, a) { 
     //get current quantity from cart 
     var filter = /(\w+)::(\w+)/.exec(p.id); 
     var cart_item = cart[filter[1]][filter[2]]; 
     var v = cart_item.quantity; 


     //add one 
     if (a.indexOf('add') != -1) { 
      if(v < settings.productBuyLimit) v++; 
     } 
     //substract one 
     if (a.indexOf('subtract') != -1) { 
      if (v > 1) v--; 

     } 
     //update quantity in shopping cart 
     $(p).find('.item-quantity').text(v); 
     //save new quantity to cart 
     cart_item.quantity = v; 
     //update price for item 
     $(p).find('.item-price').text((cart_item.price*v).toFixed(settings.numberPrecision)); 
     //update total counters 
     countCartTotal(); 
    } 

我需要的是一個以上的增加 「V」(cart_item.quantity)。在這裏,它使用「v ++」...但它只會增加1.我怎樣才能改變這一點,使其每次點擊加號圖標時增加4?

我試圖

v++ +4 

但它不工作。

謝謝!

+1

'v + = 4' ...?還有一些填充... –

+4

如果你不知道如何將4添加到數字中,我真的會建議通過基本的編程教程來運行。 –

回答

15

使用複合賦值運算符:

v += 4; 
+0

謝謝!有效。 – larin555

+1

不等價:'v + = 4'只對表達式進行一次評估,當它是一個長表達式或有副作用時,它是很好的。 – jnylen

+0

@jnylen謝謝你,你是對的。 – helpermethod

0

試試這個:

//event handler for item quantity in shopping cart 
    function itemQuantityHandler(p, a) { 
     //get current quantity from cart 
     var filter = /(\w+)::(\w+)/.exec(p.id); 
     var cart_item = cart[filter[1]][filter[2]]; 
     var v = cart_item.quantity; 


     //add four 
     if (a.indexOf('add') != -1) { 
      if(v < settings.productBuyLimit) v += 4; 
     } 
     //substract one 
     if (a.indexOf('subtract') != -1) { 
      if (v > 1) v--; 

     } 
     //update quantity in shopping cart 
     $(p).find('.item-quantity').text(v); 
     //save new quantity to cart 
     cart_item.quantity = v; 
     //update price for item 
     $(p).find('.item-price').text((cart_item.price*v).toFixed(settings.numberPrecision)); 
     //update total counters 
     countCartTotal(); 
    } 
3

要加N五: V + = N

14

使用variable += value;由一個以上的遞增:

v += 4; 

它與其他一些運營商也:

v -= 4; 
v *= 4; 
v /= 4; 
v %= 4; 
v <<= 1; 
v >>= 4; 
+0

僅供參考:請參閱[添加分配](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Addition_assignment)('+ =')和[減法分配]( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Subtraction_assignment)(' - =')運算符。 – showdev

+0

|| =和&& =在JavaScript中似乎不存在。 | =和&=執行按位賦值操作符,如果您不直接與實際布爾值進行比較,那麼它們一樣好。 –

+0

你說得對@Csit - 當我寫這篇文章時,我一定在用另一種語言思考。 – jnylen