Почему мои клики все добавляются друг на друга, а не считаются отдельно? - PullRequest
0 голосов
/ 12 сентября 2011
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Vote!</title>

<script type="text/javascript">
var x = 0;
function countClicks() {



x += 1
document.getElementById( "counting" ).innerHTML = x;

    ClickCount++;
    return true;
}

</script>

<script type="text/javascript">
var x = 0;
function countClicks1() {
x += 1
document.getElementById( "counting1" ).innerHTML = x;

    ClickCount++;
    return true;
}

</script>

<script type="text/javascript">
var x = 0;
function countClicks2() {



x += 1
document.getElementById( "counting2" ).innerHTML = x;

    ClickCount++;
    return true;
}

</script>

</head>
<body>

<div id="chart1">
<ul>
<li>
<img src="../Pictures/BWS + L.A +KUSH/Game.RED_Album_Cover.jpg" alt="red album"><br>
<input type="button" value="VOTE" name="clickOnce" onclick="return countClicks();" />
<div id="counting"></div>
</li>
<li>
<img src="../Pictures/BWS + L.A +KUSH/Game.RED_Album_Cover.jpg" alt="red album"><br>
<input type="button" value="VOTE" name="clickOnce" onclick="return countClicks1();" />
<div id="counting1"></div>
</li>
<li>
<img src="../Pictures/BWS + L.A +KUSH/Game.RED_Album_Cover.jpg" alt="red album"><br>
<input type="button" value="VOTE" name="clickOnce" onclick="return countClicks2();" />
<div id="counting2"></div>
</li>
</ul>
</div>

</body>

</html>

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

мммм ...

потому что x является глобальной переменной, а clickCount всегда использует одну и ту же переменную ...

также я бы посоветовал вам СУШИТЬ ваш код и заставить функцию работать на основе параметра, вам НЕ нужны 3 функции, которые все делают одно и то же.

0 голосов
/ 12 сентября 2011

var x - глобальная переменная.Как только он будет объявлен, ваши функции будут использовать ту же переменную.Так что и в countClicks, и в countClicks1 они используют одну и ту же переменную.

Измените секунду, чтобы использовать var x2 = 0

...