Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > прибавление 1 после каждого нажатия


Автор: chiffa 12.1.2009, 11:28
Добрый день. Такой вопрос, есть функция которая при нажатии должна прибавлять +1.

Код

<script>

function schet()
{
    var x=0;
    
        x=x+1;
    alert (x);
}

</script>

<a href='JavaScript:void (0); schet ();'>+1</a>


Вместо в этого оно постоянно выводит, что есть логично т.к. каждый раз функция начинается сначала. как сделать что бы значение сохранялась?

Автор: Grig 12.1.2009, 11:39
Код

<html>
<head>
<script>
function schet()
{
var a=document.getElementById('link');
var val=a.innerHTML/1;
a.innerHTML=val+1;
}
</script>
</head>
<body>
<a href='JavaScript:void (0);' id='link' onclick='schet ();'>1</a>
</body>
<html>



Автор: chiffa 12.1.2009, 11:48
спасибо! а так что бы не менялся текст?...

Добавлено через 3 минуты и 59 секунд
вопрос снимается решил через: 
<a href='JavaScript:void (0);' onclick='schet ();'>+1</a>
<div id='link' style="visibility:hidden"; ></div>

Автор: bars80080 12.1.2009, 11:55
ну, если значение надо просто сохранить, то никакая вставка не нужна:

Код

<script>
var x=0;
function schet() {
    x=x+1;
    alert (x);
}
</script>

<a href='javascript:void(0); schet();'>+1</a>
она так и будет в переменной х, доступной по всей странице

Автор: Grig 12.1.2009, 11:57
Зачем так?
Код

<html>
<head>
<script>
var a=0;
function schet()
{
a++;
alert(a);
}
</script>
</head>
<body>
<a href='JavaScript:void (0);' onclick='schet ();'>1</a>
</body>
<html>


Добавлено через 43 секунды
bars80080, =)

Автор: taral 12.1.2009, 13:37
А мне больше нравится решение: создать объект с внутренним счетчиком.
Хотя если вся задача сводится к прибавлению счетчика, то все предложенные способы подходят.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)