Вот мой код HTML.Как создать динамическое падение?
<dl id="sample" class="dropdown">
<dt><a href="#"></a></dt>
<dd>
<ul>
<li><a href="#">News</a></li>
<li><a href="#">Jobs</a></li>
<li><a href="#">Community</a></li>
<li><a href="#">Events</a></li>
<li><a href="#">Advisory</a></li>
<li><a href="#">People</a></li>
<li><a href="#">Universities</a></li>
<li><a href="#">HR Intellegence</a></li>
<li><a href="#">Companies</a></li>
<li><a href="#">Inbox</a></li>
<li><a href="#">Notifications</a></li>
</ul>
</dd>
И это JS
$(document).ready(function() {
$(".dropdown img.flag").addClass("flagvisibility");
$(".dropdown dt a").click(function() {
$(".dropdown dd ul").toggle();
});
$(".dropdown dd ul li a").click(function() {
var text = $(this).html();
$(".dropdown dt a span").html(text);
$(".dropdown dd ul").hide();
});
function getSelectedValue(id) {
return $("#" + id).find("dt a span.value").html();
}
$(document).bind('click', function(e) {
var $clicked = $(e.target);
if (! $clicked.parents().hasClass("dropdown"))
$(".dropdown dd ul").hide();
});
$("#flagSwitcher").click(function() {
$(".dropdown img.flag").toggleClass("flagvisibility");
});
});
Это код выпадающего списка, который заполняет по щелчку. Я хочу повторить его 100 раз на моей веб-странице, и я не хочу копировать код и изменять имя или идентификатор класса для каждой записи. Я помню, что для этого есть функция типа .this ', но я не знаю, как ее использовать. Также у меня есть динамические сообщения, содержащие этот список, поэтому его JS нельзя повторять в каждой новой записи.
Просьба предложить такие изменения в этом коде, которые позволят мне использовать класс .dropdown с каждой записью без повторения JS-кода, и он открывает только тот раскрывающийся список, который открывается, чтобы открыть.
ли Javascript _really_ необходимый или вы бы также принять CSS только решение? – Kovah
Да, конечно, но раскрытие должно открываться только при нажатии. –
О, ладно. Вы можете использовать эту небольшую библиотеку (http://dev7studios.com/dropit/) для этого. Очень базовые и кривые соответствуют вашим потребностям. Не так много кода, но обеспечивают почти ту же структуру и функцию open-on-click-only. – Kovah