Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery slideup/down函数,在特定类中如何保持元素打开?_Jquery_Css_Jquery Ui Slider - Fatal编程技术网

jquery slideup/down函数,在特定类中如何保持元素打开?

jquery slideup/down函数,在特定类中如何保持元素打开?,jquery,css,jquery-ui-slider,Jquery,Css,Jquery Ui Slider,我有一个包含父元素和子元素的菜单。如果将鼠标悬停在包含子项的父项上,子菜单将向下滑动。如果你停下来,它就会向上滑动。太好了 但是,如果您在子页面上,我如何更改此jquery,使其在默认情况下打开该子菜单 因此,如果一个项目具有类“current\u page\u祖先”,它将在页面加载时打开 jQuery(function($) { $('.side-menu ul > li, ul.children > li, .side-menu ul > li, ul.sub-menu &

我有一个包含父元素和子元素的菜单。如果将鼠标悬停在包含子项的父项上,子菜单将向下滑动。如果你停下来,它就会向上滑动。太好了

但是,如果您在子页面上,我如何更改此jquery,使其在默认情况下打开该子菜单

因此,如果一个项目具有类“current\u page\u祖先”,它将在页面加载时打开

jQuery(function($) {
$('.side-menu ul > li, ul.children > li, .side-menu ul > li, ul.sub-menu > li').hover(function () {
if ($('> ul.children, > ul.sub-menu',this).length > 0) {
    $('> ul.children, > ul.sub-menu',this).stop().slideDown('slow');
}
},function () {
    if ($('> ul.children, > ul.sub-menu',this).length > 0) {
        $('> ul.children, > ul.sub-menu',this).stop().slideUp('slow');
    }
});
}))


通过创建打开和关闭菜单项的函数,您可以使代码更加模块化。然后,您可以在页面加载中检查是否存在具有class
当前页面祖先的li元素,并使用函数打开它:

jQuery(function ($) {
    $('.side-menu ul > li, ul.children > li, .side-menu ul > li, ul.sub-menu > li').hover(function () {
        if ($('> ul.children, > ul.sub-menu', this).length > 0) {
            slideOpen(this);
        }
    }, function () {
        if ($('> ul.children, > ul.sub-menu', this).length > 0) {
            slideClose(this);
        }
    });

    if ($('li').hasClass('current_page_ancestor')) {
        slideOpen('.current_page_ancestor');
    }
});

function slideOpen(item) {
    $('> ul.children, > ul.sub-menu', item).stop().slideDown('slow');
}

function slideClose(item) {
    $('> ul.children, > ul.sub-menu', item).stop().slideUp('slow');
}

Fiddle:

您将如何识别您在子页面上?除非子页面上只有一个类,否则您真的无法持久使用Javascript。