鼠标悬停和手风琴鼠标输出

时间:2013-09-25 09:30:50

标签: javascript jquery html jquery-ui-accordion

我使用手风琴进行导航,我正在使用jquery。我的问题是,当页面加载时,默认情况下应该关闭所有标题,当我鼠标悬停任何标题时,它的兄弟会打开,当我将它自动关闭时。

<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');
        }

    });




});

3 个答案:

答案 0 :(得分: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()

})

演示:Fiddle

或者

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

答案 1 :(得分:0)

$('#accordion > li').each(function(){
    var accHolder = $(this),
        acc = accHolder.find('> ul');

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

答案 2 :(得分:0)

你发了一个小提琴,希望它有所帮助...... http://jsbin.com/aKIpEZu/2/edit