2011-12-01 38 views
0

2つの別々のボタンをクリックするたびに別々にカウントされるjavascriptがあるので、同じページにその量が出力されます。これは機能しますが、私は今、2つの属性を一緒に加えることによって計算されるクリックの合計であるページに出力するための3番目の値を追加しようとしています。これはちょっとしたことではないようです。jQuery変数の加算とその他の合計

javaの

<script type="text/javascript"> 
var NextClick = 0; 
var PrevClick = 0; 
var TotalClicks = 0; 

function getValueNext() 
    { 
    var y=document.getElementById("NextClick").value = ++NextClick 
    $('.NextClick').val(y); 
    } 

function getValuePrev() 
    { 
    var x=document.getElementById("PrevClick").value = ++PrevClick 
    $('.PrevClick').val(x); 
    } 

function getSumClicks() 
    { 
    var z= x + y 
    $('.TotalClicks').val(z); 
    } 

</script> 

Htmlの

Clicked next <input class="NextClick" size="3" onfocus="this.blur();" value="0"> times. 
    Clicked prev <input class="PrevClick" size="3" onfocus="this.blur();" value="0"> times. 
    Clicked total <input class="TotalClicks" size="3" onfocus="this.blur();" value="0">  times. 

そのポイントは、各ボタンのクリックから、私は、彼らが上で残っていたので、彼らが選択しているどの画像考え出すことができるということです。

2つの値を記録するのではなく、次に次のものをクリックすると追加する機能を持つことができますが、prevをクリックしたときに1つの機能を持つことができます。

+0

あなたはhttp://jsfiddle.netでモックアップを行うことができます:

あなたはおそらくこれをしたいですか?また、javascriptは関数レベルのスコープを持っているので、 'getSumClicks()'はあなたのコードが 'x'と' y'にアクセスすることはありません。 'NextClick'とそれ以外の場所に移動しなければなりません。 – JesseBuesking

答えて

0

IDとしてNextClickの要素はありません。だから、この:

var y=document.getElementById("NextClick").value = ++NextClick 

は次のようになります。

var y = ++NextClick 

第二に、xとyは、その機能にローカル変数です。彼らはgetSumClicks()の内部には存在しません。

function getValueNext() { 
    $('.NextClick').val(++NextClick); 
} 

function getValuePrev() { 
    $('.PrevClick').val(++PrevClick); 
} 

function getSumClicks() { 
    $('.TotalClicks').val(NextClick + PrevClick); 
}