修改 好的,行:

$( <?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(){都会发生吗?否则我无法理解为什么所有菜单位置都会更新。

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

有帮助吗?

解决方案 2

只需添加一些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();
                }

其他提示

对我来说就像是

上的错误结束标记
<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显示

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top