Код: Выделить всё
// if the parent is .major, do this:
$(".major .menu a").click(function(e){
$(".minor-result").removeClass("act");
$(".major-result").addClass("act");
e.preventDefault();
});
// if the parent is .minor, do this:
$(".minor .menu a").click(function(e){
$(".major-result").removeClass("act");
$(".minor-result").addClass("act");
e.preventDefault();
});
Я понимаю, что jQuery привязывает эту функцию к существующей комбинации родитель-потомок и изменяет родительские классы не меняет функцию.
Изменить:
Одним из решений для скалывателя было бы размещение 7 уникальных ссылок внутри каждого меню li, и эти ссылки будут отображаться: блокировать/нет с помощью CSS , на основе родительского класса. Если каждая ссылка имеет только одну функцию, проблемы больше нет. Но, возможно, jQuery сможет упростить его, поменяв 7 параметров.
Код: Выделить всё
// swap classes for #scale
$(".make-minor a").click(function(e){
$("#scale").removeClass("major");
$("#scale").addClass("minor");
e.preventDefault();
});
$(".make-major a").click(function(e){
$("#scale").removeClass("minor");
$("#scale").addClass("major");
e.preventDefault();
});
// here is the part I struggle with:
// if the parent is .major, do this:
$(".major .menu a").click(function(e){
$(".minor-result").removeClass("act");
$(".major-result").addClass("act");
e.preventDefault();
});
// if the parent is .minor, do this:
$(".minor .menu a").click(function(e){
$(".major-result").removeClass("act");
$(".minor-result").addClass("act");
e.preventDefault();
});Код: Выделить всё
.page-body {margin:20px auto;width:200px;}
a {text-decoration:none;padding:5px 10px;display:inline-block;}
.make-minor a {background:blue;color:#fff;}
.make-major a {background:red;color:#fff;}
.major .menu a {color:orange;}
.minor .menu a {color:teal;}
.act {display:block !important;}
.major-result, .minor-result {display:none;}
.major-result a {color:red;}
.minor-result a {color:blue;}Код: Выделить всё
make it Major
make it minor
[list]
[*]I
[*]ii
[*]III
[/list]
[list]
[*]One
[*]Two
[*]Three
[/list]
[list]
[*]one minor
[*]two minor
[*]three minor
[/list]
Подробнее здесь: https://stackoverflow.com/questions/782 ... rent-class
Мобильная версия