2012-05-17 9 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 

をしようとしたが、それは働いていません。

ありがとうございました!以上によりインクリメントする V + = N

+1

'v + = 4' ...?そしていくつかの埋め込み... –

+4

数字に4を追加する方法がわからない場合は、基本的なプログラミングチュートリアルを実行することをお勧めします。 –

答えて

15

複合代入演算子を使用してください:

v += 4; 
+0

ありがとう!出来た。 – larin555

+1

等価ではない: 'v + = 4'は式を1回だけ評価する。長い式であるか副作用があるときに良い。 – jnylen

+0

@jnylenありがとう、ofcあなたは正しいです。 – helpermethod

0

ことは、これを試してみてください

v += 4; 

それはいくつかの他と連携しますオペレータも:

v -= 4; 
v *= 4; 
v /= 4; 
v %= 4; 
v <<= 1; 
v >>= 4; 
14

使用variable += value;:nだけVを高めるために

//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(); 
    } 
+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

関連する問題