2012-01-12 3 views
0

У меня есть меню в боковом месте и что код:Как создать простое меню с jQuery?

<ul> 
<li> 
    <span class="arz"> 
     first menu 
    </span> 
    <ul id="arz"> 
     <li> 
      first submenu 
     </li> 
     <li> 
      second submenu 
     </li> 
     <li> 
      third submenu 
     </li> 
    </ul> 
</li> 
<li class="words"> 
    two menu 
    <ul id="words"> 
     <li> 
      first submenu 
     </li> 
     <li> 
      second submenu 
     </li> 
    </ul> 
</li> 

и код JQuery является:

$(document).ready(function(){ 
    $(".submenu").click(function(){ 
     $(this).children(this).slideToggle("slow"); 
    }); 
}); 

, но я хочу, нажав на первом менюul элемент с id="arz" using slideToggle ,
this code do it but when i click on every submenu item corresponding ul use
slideToggle`. благодарю
aya

+2

HTML, вы показали не использовать». чтение "или" .submenu ", а также нет элементов абзаца, поэтому ваши два селектора jQuery не найдут элементов для назначения обработчиков кликов. Вы только что скопировали jQuery из другого места, или есть ли более подходящий html, который вы не показывали, или ...? (Кроме того, вам не нужны две функции document.ready. Создайте оба обработчика кликов внутри одного документа.) – nnnnnn

+0

о, извините, я вставляю дополнительный код, спасибо за напоминание – aya

+0

Ум ... класс, упомянутый в вашем jQuery код («подменю») _still_ не указан в вашем html. Кроме того, есть ли какая-то причина, почему только первое меню верхнего уровня имеет интервал в нем? Было бы легче ответить на ваш вопрос, если бы ваш html имел однородную структуру и использовал имена (имена) класса, которые соответствовали вашему jQuery. – nnnnnn

ответ

1

В вашем коде jquery вы ссылаетесь на класс, которого нет в вашем html. Вот почему он не работает. Вот что-то слегка модифицирована, который работает, как вы можете видеть в этом jsFiddle example

HTML

<style> 
    ul.submenu{display:none;background:#ccc;} 
</style> 
<ul class="menu"> 
    <li class="arz"> 
     <span>first menu</span> 
     <ul id="arz" class="submenu"> 
      <li> 
       first submenu 
      </li> 
      <li> 
       first submenu 
      </li> 
      <li> 
       first submenu 
      </li> 
     </ul> 
    </li> 
    <li class="words"> 
     <span>second menu</span> 
     <ul id="words" class="submenu"> 
      <li> 
       second submenu 
      </li> 
      <li> 
       second submenu 
      </li> 
      <li> 
       second submenu 
      </li> 
     </ul> 
    </li> 
</ul> 

JQuery

$(function(){ 
    $('ul.menu li').click(function(){ 
     $(this).find('ul.submenu').slideToggle('slow') 
    }) 
}) 
+0

О, Боже мой, спасибо Пастор Кости. это очень хорошая помощь. Я не сделал это на этом сайте ??? и ваш код очень хорош. спасибо – aya

+0

вы очень приветствуются :) –

+0

привет, этот код хорош, но когда я нажимаю на меню подменю Пункт переключается, а я просто хочу, чтобы подменю переключались при нажатии на меню Item. – aya