0

2メニューやってます。1 つはヘッダーにあります。もう 1 つはページの左側のサイドバーに表示されます。

ヘッダ

<div id="topmenu">
    <ul>
        <li><a href="/">Home</a></li>
        <li><a href="/baseball">Baseball</a></li>
        <li><a href="/football">Football</a></li>
    </ul>
</div>

野球ページで

<div id="leftmenu">
    <ul id="teams">
        <li><a href="/yankees">Yankees</a></li><br />
        <li><a href="/redsox">Red Sox</a></li><br />
        <li><a href="/cubs">Cubs</a></li><br />
    </ul>
</div>

#topmenu を強調表示する方法は次のとおりです (長い話ですが、機能します)。

  $(function(){

    var url = window.location.pathname, 
        urlRegExp = new RegExp(url.replace(/\/$/,'') + "$"); 
        $('#topmenu li a').each(function(){

            if(urlRegExp.test(this.href.replace(/\/$/,''))){
                $(this).addClass('blue');
            }
        });
   });

課題は #leftmenu にあります。

1 - jQuery を使用して各 -li- のコンテンツを表示/非表示にしています

2 - ページが最初に読み込まれると、#topmenu 項目が強調表示されますが、#leftmenu の最初の項目も強調表示されるようにします。つまり、#topmenu アイテムが選択されたときと、最初の #leftmenu アイテムが選択されたときに同じページが表示されるようにしたいのです。どうすればこれを実現できますか?

それが役立つ場合、野球のページは次のように設定されています。

ベースボール.php

<div id="header">
</div>

<div id="main">
<?php include('baseball_stuff.php'); ?>
</div>

<div id="footer">
</div>

次に、#topmenu で Baseball.php にリンクし、#leftmenu で Baseball_stuff.php にリンクするので、コンテンツを複製する必要はありません。

jsfiddle: http://jsfiddle.net/Ft8FR/

4

1 に答える 1

1

あなたの質問のこの部分は私には意味がありません

#topmenuアイテムが選択されたときと、最初の#leftmenuアイテムが選択されたときに、同じページを表示したいと思います。どうすればこれを実現できますか?

しかし、あなたが以前に言ったことは理にかなっています。だから私はこれに答えて、それがあなたが探しているものであることを願っています。

#leftmenuの最初の項目も強調表示したい

$('#leftmenu li:first').addClass('blue');
于 2012-04-17T03:53:27.087 に答える