修改 好的,行:
$( <?php echo("'#".$_GET['item']."'") ?> ).parent().show();
显然并尝试将菜单保持在正确的位置。我不认为这有用(让我讨厌在其他ppls代码上工作)。
然后我当前的问题是如何使用该项ID = 001来直接访问<ul class="myul">
上方的<li id="001" >
你好
我正在尝试修复一个现在丢失的程序员留给我的一段代码。它有效,但缺少一个功能;选择菜单项时,我不会在正确的位置保持打开状态。
Jquery的:
$.swapImage(".swapImage");
$( <?php echo("'#".$_GET['item']."'") ?> ).parent().show();
$('.myul').hide();
$('.slide_ul li:not(:first-child)').hide();
$('.hideMe').click(function(){
$(this).next('ul').slideToggle('fast').siblings('ul:visible').slideUp('fast');
});
$('.myul a').click(function(e){
var url = $(this).attr('href');
var index = url.indexOf('=');
var substr = url.slice(index+1);
$('#productContainer >div').hide();
$('#productContainer').load("products/"+substr+"/product.html", function(){
$(this).fadeIn('slow');
var i = 0;
$('.slide_ul li:not(:first-child)').hide();
});
});
HTML:
<!-- Right Navigation -->
<div id="rightNav">
<div id="navMenu">
<h2 id="navMenuheader">Catalogue</h1>
<h3 class="hideMe">Widgets</h3>
<ul class="myul">
<h4 class="hideMe">Widget Coins</h2>
<ul class="myul">
<li id="001" >
<a href="products.php?item=001">The South African Widget</a>
</li>
菜单点击的结果是将内容注入页面中间的黑色div。每次发生$(document).ready(function(){
都会发生吗?否则我无法理解为什么所有菜单位置都会更新。
我想我需要更多代码来识别我们菜单中的位置并让它们保持打开状态。我的桌子上有蚂蚁。
答案 0 :(得分:1)
对我来说就像是
上的错误结束标记<h4 class="hideMe">Widget Coins</h2>
单击时,是您的主要问题
$(this).next('ul')
找不到ul,因为它是一个孩子而不是h4的兄弟 将其改为
<h4 class="hideMe">Widget Coins</h4>
让它更好用,不确定是否就是你要找的全部
$( <?php echo("'ul:has(#".$_GET['item'].")'"); ?> ).show();
将打开每个具有指定id的后代的ul 只是使用.parent()没有得到顶级ul显示
答案 1 :(得分:0)
只需添加一些jquery,就可以在隐藏所有菜单后重新打开菜单的相关部分。所以在$('.myul').hide()
行后面,我根据网址查询(products.php?item = 001)重新打开菜单部分:
var item = <?php echo("'".$_GET['item']."'") ?>;
if (item != '')
{
item = "li#" + item;
$(item).parent().show();
$(item).parent().parent().show();
}