jquery slideup/down函数,在特定类中如何保持元素打开?
我有一个包含父元素和子元素的菜单。如果将鼠标悬停在包含子项的父项上,子菜单将向下滑动。如果你停下来,它就会向上滑动。太好了 但是,如果您在子页面上,我如何更改此jquery,使其在默认情况下打开该子菜单 因此,如果一个项目具有类“current\u page\u祖先”,它将在页面加载时打开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(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。