Я действительно не знаю, что будет лучшим названием для этого.По сути, на моей странице есть выпадающее меню, которое реализовано с помощью jQuery (.slide).Раскрывающийся список отображается в верхней и нижней части страницы, поэтому пользователю проще прокрутить вниз и по-прежнему использовать раскрывающееся меню.Для отображения этой страницы я использую частичную направляющую, так что я могу довольно просто ее рефакторизовать.
Проблема в том, что два выпадающих меню находятся на одной странице, поэтому они не могут иметь одинаковый идентификатор, ноони имеют ту же функциональность, когда пользователь нажимает, затем открывается и показывает другие параметры.Каков наилучший способ позволить им использовать ту же логику, но разные идентификаторы и меньше кода, насколько это возможно.
Я не хочу делать что-то подобное.
$('.sub_export_record1').hide();
$('.export_record_link1').click( function(e) {
e.preventDefault();
});
$('.export_record1').click( function(e) {
if ( $(".sub_export_record1").is(":hidden") )
{
$('.sub_export_record1').slideDown("slow");
}
else
{
$('.sub_export_record1').hide();
}
});
А потом второй
$('.sub_export_record2').hide();
$('.export_record_link2').click( function(e) {
e.preventDefault();
});
$('.export_record2').click( function(e) {
if ( $(".sub_export_record2").is(":hidden") )
{
$('.sub_export_record2').slideDown("slow");
}
else
{
$('.sub_export_record2').hide();
}
});
Большое спасибо.:)
HTML
<ul>
<li class="export_record">
<%= link_to "Export this Record"%>
<ul class="sub_export_record">
<li><%= link_to "Export to Photo Wall"%></li>
<li><%= link_to "Export to PDF"%></li>
<li><%= link_to "Export to CSV"%></li>
</ul>
</li>
</ul>