необходимо действие на второй клик
вот, к примеру есть картинка, при клике к переменной "m" добавляется некое число, не важно какое.
Требуется сделать так, чтобы при втором клике это приплюсованное число "отплюсовалось", т.е. "m" стала такой же, как и была до первого клика. Заранее спасибо! <img src='http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' onclick='m+=10; this.onclick=null' width="200px"/> |
<img src='http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' onclick='toggleM()' width="200px"/>
<script>
m= 10;
a= 5;
function toggleM() {
m+=a;
a= -a;
alert(m);
};
</script>
|
Спасибо за помощь!
Возможно я просто что-то не понимаю, но для каждой такой картинки мне нужна своя переменная? Получается мне это не подходит, т.к картинок у меня таких много. |
Можно сделать через атрибуты (грязно, но просто) или через замыкания (сложно, зато семантически правильно).
Через атрибуты:
<script>
function toggleM(img) {
var m= +img.getAttribute("m");
var a= +img.getAttribute("a");
m+=a;
a=-a;
alert(m);
img.setAttribute("m", m);
img.setAttribute("a", a);
};
</script>
<img src='http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' onclick='toggleM(this)' width="200" m="10" a="5"/>
<img src="http://img.yandex.net/i/www/logo.png" onclick="toggleM(this)" width="200" m="7" a="3" />
|
| Часовой пояс GMT +3, время: 19:06. |