2017-02-28 7 views

答えて

0

bodyIdパラメータをbodyクラスに出力する方が簡単な場合がありますので、テンプレートメインファイル(通常は/templates/something/index.php)を編集して<bodyというタグを見つけて、次のように変更します。

<body class="your other classes here <?php 
    $app = JFactory::getApplication(); 
    $menu = $app->getMenu()->getActive()->id; 
    echo "pageid-$itemId" 
?>" 

これはカスタムCSSルールに必要に応じてあなたにこの修正プログラムを紹介したいページはのitemId 1302を持っていると仮定すると、あなたは、単にあなたのナビゲーションをターゲットにそれを使用することができ、その後、

として
<body class="your other classes here pageid-1302"> 

をレンダリングします:

body.pageid-1302 nav.main > ul > li:nth-child(3):hover > ul > li:nth-child(2) { 
    display:none; 
} 

(これは単なる例ですが、私のクラスについてはわかりませんが、サブメニューのみを対象とする正しいパスを見つけなければなりません。 また、クラスが異なる場合があるので、モバイルでテストしてください。

このソリューションはスクリプトを使用しません。あなたが隠すことを望むサブメニューが、ホバリングされたアイテムの子である場合、それは容易に機能します。アイテムが他の場所にある場合は、実際にスクリプトが必要になります。このケースでは、ホバーイベントに関数を添付し、それに応じて行動する必要があるでしょう:仮定jQueryが提供されています:

jQuery(function() { 
    // now the document is loaded 
    jQuery('.firstmenuselector').on('hover',function() { 
    // the user hovered the element; 
    jQuery('.submenuselector').hide(); 
    },function() { 
    // the user exited the element; 
    jQuery('.submenuselector').show(); 
    }); 
}); 

最後に、あなたが関与メニュー項目にクラスを追加したいので、それかもしれませんcssまたはjQueryセレクタを使用してターゲット設定するのが簡単になります。

+0

ありがとう、私はこの解決策を試してみます。 –

関連する問題