Вопрос на засыпку. Программистам.

SM
На сайте с 11.11.2014
Offline
18
637

<script language="JavaScript">
function showOrHide(zap) {
if (document.getElementById) {
var abra = document.getElementById(zap).style;
if (abra.display == "block") {
abra.display = "none";
} else {
abra.display = "block";
}
return false;
} else {
return true;
}
}
</script>

Этот скрипт, при нажатии по элементу, добавляет ему стиль, а при повторном нажатии, меняет этот стиль на другой.

Вопрос:

Как сделать, чтобы вместо стилей добавлялись классы?

То есть, чтобы вместо style="display: block" и style="display: none" появлялись class="block" и class="none".

Спасибо.

дани мапов
На сайте с 06.09.2012
Offline
204
#1
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
S3
На сайте с 29.03.2012
Offline
302
#2

Если не брезгуете jQuery, то там есть готовые функции удаления/добавления классов addclass()/removeclass()

tommy-gung
На сайте с 22.11.2006
Offline
287
#3

toggleClass() on jquery

Здесь не могла быть ваша реклама
barabash
На сайте с 30.04.2011
Offline
71
#4

<script language="JavaScript">

$('#zap').click(function() { //#zap - id элемента, можно использовать .classname
$(this).toggleClass('customclass'); //customclass - имя класа
});
</script>
SM
На сайте с 11.11.2014
Offline
18
#5

Благодарю вас, друзья!

Решил проблему следующим способом:

function showOrHide(zap) {

if (document.getElementById) {
var abra = document.getElementById(zap);
if (abra.className=="block") {
abra.className="none";
} else {
abra.className="block";
}
return false;
} else {
return true;
}
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий