2013-09-25 3 views
1

Я использую аккордеон для навигации, и я использую jquery. Моя проблема заключается в том, что при загрузке страницы все заголовки должны быть закрыты по умолчанию, когда я навешиваю любой заголовок, который его братья и сестры откроют, когда я его автоматически закрою.mouseover и mouseout в аккордеоне

<ul id="accordion"> 
    <li> 
     <a href="#" class="history_heading" rel="history_heading">HISTORY</a> 
     <ul> 
      <li><a href="#">Link One</a></li> 
      <li><a href="#">Link Two</a></li> 
      <li><a href="#">Link Three</a></li> 
      <li><a href="#">Link Four</a></li> 
      <li><a href="#">Link Five</a></li> 
     </ul> 
    </li> 

    <li> 
     <a href="#" class="geography_heading" rel="geography_heading">GEOGRAPHY</a> 
     <ul> 
      <li><a href="#">Link One</a></li> 
      <li><a href="#">Link Two</a></li> 
      <li><a href="#">Link Three</a></li> 
      <li><a href="#">Link Four</a></li> 
      <li><a href="#">Link Five</a></li> 
     </ul> 
    </li> 
</ul> 

Пожалуйста, помогите мне
JQuery код, который приведен ниже для функции мыши, но я хочу, в соответствии с моими требованиями
Jquery код

$(document).ready(function() { 

    $('#accordion li').children('ul').hide(); 
    $('.history_heading').parent().addClass('active').find('ul').show(); 

    $('#accordion a').click(function() { 

     $(this).parent().siblings('.active').removeClass('active').find('ul').slideUp('fast'); 

     if ($(this).parent().hasClass('active')) { 
      $(this).next('ul').slideUp('fast'); 
      $(this).parent().removeClass('active'); 
     } else { 
      $(this).next('ul').slideDown('fast'); 
      $(this).parent().addClass('active'); 
     } 

    }); 




}); 
+1

Разместите JQuery код пожалуйста – SarathSprakash

+1

Нам нужно будет видеть ваше JQuery, чтобы иметь возможность помочь тебе. – Ruddy

ответ

2

Простой

jQuery(function ($) { 
    $('#accordion li').hover(function() { 
     $(this).find('ul').stop(true, true).slideDown() 
    }, function() { 
     $(this).find('ul').stop(true, true).slideUp() 
    }).find('ul').hide() 

}) 

Demo: Fiddle

Или

jQuery(function ($) { 
    $('#accordion li').hover(function() { 
     $(this).find('ul').stop(true, true).slideToggle() 
    }).find('ul').hide() 
}) 
0
$('#accordion > li').each(function(){ 
    var accHolder = $(this), 
     acc = accHolder.find('> ul'); 

    accHolder.hover(function(){ 
     acc.slideDown(); 
    }, function(){ 
     acc.slideUp(); 
    }); 
}); 
+0

Спасибо @Mihail Skida –

+0

Другая проблема, когда я иду на эту страницу, все братья и сестры открываются по умолчанию. Мне нужно навести их, чтобы закрыть все заголовки. –

0

Привет отправил скрипку для и надеемся, что это помогает ... http://jsbin.com/aKIpEZu/2/edit

+0

Хотя эта ссылка может ответить на вопрос, лучше включить части ответа здесь и укажите ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. –

+1

K Я обязательно буду делать то же самое ..... – codebreaker

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