0

编辑: 好的,行:

$( <?php echo("'#".$_GET['item']."'")  ?> ).parent().show();

显然并试图在正确的位置保持菜单打开。我认为这从来没有奏效(让我讨厌处理其他 ppls 代码)。

那么我目前的问题是如何使用该项目 id=001<ul class="myul">直接访问上面的?<li id="001" >

你好

我正在尝试修复一个现在丢失的程序员留给我的一段代码。它可以工作,但缺少一个功能;选择菜单项时,我不会在正确的位置保持打开状态。

查询:

$.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>

菜单点击的结果是将Content注入到页面中间的一个黑色div中。$(document).ready(function(){每次发生这种情况都会发生吗?否则我看不出为什么所有的菜单位置都被更新了。

我想我需要更多的代码来识别我们在菜单中的位置并让它们保持打开状态。我的桌子上有蚂蚁。

4

2 回答 2

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 显示

于 2009-03-06T05:29:16.997 回答
0

只需添加一些 jquery 即可在菜单的相关部分全部隐藏后重新打开它。因此,在该行之后,$('.myul').hide()我根据 url 查询( products.php?item=001 )重新打开菜单部分:

var item =  <?php echo("'".$_GET['item']."'")  ?>;

                if (item != '')             
                {
                    item = "li#" + item;            
                    $(item).parent().show();
                    $(item).parent().parent().show();
                }
于 2009-03-10T16:12:20.570 回答