2016-12-20 5 views
0

私はページの上部にメニューを持っています。記事の下の一番下には、アクティブなメニュー項目(問題のページに移動するためにクリックした項目)の子または兄弟であるサブメニュー項目が表示されます。現在のサブメニュー項目をページの下部に表示するにはどうすればよいですか?

つまり、「サブメニュー項目A」をクリックすると、下のメニューに「サブメニュー項目A」と「サブメニュー項目B」が表示されます。

私はこれをphpまたはcssを使用して行いたいが、javascriptを使用しない。

私はホバリングなど何かを「オンザフライ」で行うことは望ましくありません。私はそのアイテムがクリックされたときに、現在のアイテムの子と兄弟を表示するだけで、カテゴリ全体をナビゲートする際にユーザーを助けるためにターゲットページに既に入っています。


「メニューアイテム1」またはそのサブメニューアイテムのいずれかを開いたときのように見せたいスニペット。

<ul> 
 
    <li> 
 
    Menu item 1 
 
    <ul> 
 
     <li> 
 
     <a href='item-1/item-a'> 
 
      Submenu item A 
 
     </a> 
 
     </li> 
 
     <li> 
 
     <a href='item-1/item-b'> 
 
      Submenu item B 
 
     </a> 
 
     </li> 
 
    </ul> 
 
    <li> 
 
    <a href='item-2'> 
 
     Menu item 2 
 
    </a> 
 
    <li> 
 
</ul> 
 
    
 
<article>Page contents</article> 
 
    
 
<ul> 
 
    <li> 
 
    <a href='item-1/item-a'> 
 
     Submenu item A 
 
    </a> 
 
    </li> 
 
    <li> 
 
    <a href='item-1/item-b'> 
 
     Submenu item B 
 
    </a> 
 
    </li> 
 
<ul>

+0

「メニューアイテム」ページにリンクが表示され、別のページに表示されていない場合は表示されますか? –

答えて

0

これだけではCSSで行うことはできません。 PHPとJavascriptで動作するためには、ページの読み込み時にのみ変更されます。

1

このコードでulphpにラップします。

このスクリプトではパスにitem-1が含まれているかどうかを確認し、そうであればulを表示します。そうでない場合は表示されません。

<?php 
$url = $_SERVER['REQUEST_URI']; 
$url_parts = parse_url($url); 
if (strpos($url_parts["path"], 'item1') !== false) { 
?> 
<ul> 
    <li> 
    <a href='item-1/item-a'> 
     Submenu item A 
    </a> 
    </li> 
    <li> 
    <a href='item-1/item-b'> 
     Submenu item B 
    </a> 
    </li> 
<ul> 
<?php } ?> 
関連する問題