我不确定如何说出这个问题,所以这里有详细信息:
我在这里写的这个小东西:https://jsfiddle.net/f8thL83r/1/ 只要您只想在顶部菜单中显示元素,效果很好。
点击"平面设计"下的任何内容,它不会在右侧的窗格中显示任何内容。为什么它适用于第一类而不是第二类?
这里有一些代码。我知道我这样做的方式可能很糟糕,但我刚开始用jQuery找到自己的脚。
$('#Menu h3').click(function () {
$("#Menu ul ul").slideUp();
if (!$(this).next().is(":visible")) {
$(this).next().slideDown();
}
});
$('#Menu ul ul li a').click(function (e) {
var $currPage;
e.preventDefault();
$lastPage.hide();
var j = ($(this).parent().index()); //index of the li to show
var i = $(this).parent().parent().parent().index(); //index of the ul to show
$currPage = $('#ServMain .list' + i).find('.page' + j);
$currPage.show();
$lastPage = $currPage;
});
答案 0 :(得分:1)
问题是ul.list是隐藏的
$('#Menu ul ul li a').click(function (e) {
var $currPage;
e.preventDefault();
$lastPage.hide();
var j = ($(this).parent().index());
var i = $(this).parent().parent().parent().index();
$('#ServMain > ul').not('.list'+i).hide();
$currPage = $('#ServMain .list' + i).show().find('.page' + j);
$currPage.show();
$lastPage = $currPage;
});
演示:Fiddle
答案 1 :(得分:1)
似乎所选页面的其他HTML元素不可见 下面的代码应该修复它们
$('#Menu ul ul li a').click(function (e) {
e.preventDefault();
$lastPage.hide();
var j = ($(this).parent().index());
var i = $(this).parent().parent().parent().index();
$('#ServMain ul').not('.list'+i).hide();
$lastPage = $('#ServMain .list' + i).find('.page' + j);
$lastPage.parent().show();
$lastPage.show();
$lastPage.find('div').show();
});