我正在创建一个用于wordpress的手风琴,我似乎无法弄清楚我做错了什么。
最终我试图隐藏子元素,当父母被激活时,孩子会出现。
JS:
<script>
$(document).ready(function() { //hide child page
$('#content ul.menu ul li').hide();
//when navigate to a child page show all pages
$('#content ul.menu li.current-menu-item').parent("ul").show();
//show page list when toggle
$('#content ul.menu ul li.active ul').show();
//show cerrent page's child page
$('#content ul.menu ul li.current-menu-item ul').show();
$('#content .menu ul li').click(function() {
$(this).addClass("active");
$(this).children('ul').slideToggle("slow");
});
});
</script>
提前致谢。
答案 0 :(得分:1)
Wordpress并不总能与jquery一起使用。
首先,您要将代码包装在
中$(function() {
而不是
$(document).ready(function() {
另外,我建议使用
.addClass('hidden');
和
removeClass('hidden');
代替.hide();和.show();在处理同样的问题时。
请随时跟进评论,我们会帮助您排查问题。
答案 1 :(得分:0)
请你解释一下你的问题。
你应该抓住li上的click事件导致它冒泡
$('#content .menu ul li').click(function(e) {
$(e).stopPropagation();
$(this).addClass("active");
$(this).children('ul').slideToggle("slow");
});