необходимо действие на второй клик
вот, к примеру есть картинка, при клике к переменной "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, время: 10:16. |