2013-03-13 3 views
0

У меня возникли проблемы с простым slidetoggle, который я должен применить на нескольких элементах <li>.Переключатель слайда и несколько элементов

Пример:

<ul id="serv"> 
    <li id="01">Assistenza</li> 
    <li id="02">Riparazione</li> 
    <li id="03">Manutenzione</li> 
    <li id="04">Rifacimento Macchina</li> 
</ul> 

<div id="box01"></div> 
<div id="box02"></div> 
<div id="box03"></div> 
<div id="box04"></div> 

теперь я просто хочу, когда я нажимаю на 01 box01 шоу, 02 box02 шоу .. и т.д .. Так

<script> 
    $('#01').click(function() { 
    $('#box01').slideToggle() 
    }) 
</script> 

В этом случае я должен повторите это для каждого id. А если у меня много элементов? Есть ли способ упростить этот процесс, чтобы «писать меньше и делать больше»?

Большое спасибо за вашу драгоценную помощь.

+0

есть ошибка в сценарии # 01 заменяет .slidetoggle и # box01. box01 .. Я не могу изменить сообщение .. – Alessandro

ответ

0
<ul id="serv"> 
    <li class="toggler" id="01">Assistenza</li> 
    <li class="toggler" id="02">Riparazione</li> 
    <li class="toggler" id="03">Manutenzione</li> 
    <li class="toggler" id="04">Rifacimento Macchina</li> 
</ul> 

$('.toggler').click(function() { 
    $('#box' + $(this).attr('id')).slideToggle() 
} 

Чтобы добавить функциональные возможности аккордеона:

$('.toggler').click(function() { 
    $('li').slideUp(); 
    $('#box' + $(this).attr('id')).slideToggle() 
} 
+0

просто еще один вопрос .. И если я хочу исключить других людей, которые будут открыты, когда откроется другая коробка? – Alessandro

+0

Затем вы должны добавить строку, чтобы сначала закрыть все LI. См. Мой отредактированный ответ. – isherwood

+0

Я сказал это плохо .. Извините .. не li, а # box1 .. если я нажму на li 01 box01 появляется .. но если я нажму на li 02 box02 появится ниже box01, и это не сдвинется вверх. Я имел в виду простое исключение между коробками. Thanx снова – Alessandro

Смежные вопросы