背景画像などがあるため、ナビゲーションバーは自分の側にあるものとまったく同じには見えませんが、jsfiddleでは少しファンキーに見えますが、ナビゲーションバー自体は完全に機能します。
私が抱えている問題は、ページにいるときはいつでも視覚的なマーカーが表示されることです。これは、他のページをクリックできないため、jsFiddle で非常によく、またはまったく表示されません)。クリックした特定のページで視覚的なマーカーを機能させることができますが、その特定のクリックのみです。私が達成しようとしているのは、あなたがどれだけ深くにいても、あなたがどこにいるかの視覚的なマーカーですページ (ul li a または ul li > ul li a または ul li > ul li > ul li a のいずれか)。例えば。
(私の言っていることを理解するには、Jsfiddle を見る必要があります) 「Web」にカーソルを合わせると、ドロップダウンが表示されます。次に、「jQuery」ページに移動することを決定した別のドロップダウンがある「Web-215」に進みます。
現在起こっていることは次のとおりです。「jQuery」をクリックすると、その単一のアイテムに「現在」のIDが与えられます。見た目を変えるもの。しかし、それはその単一のアイテムに対してのみ行っています。
私がやりたいことはこれです:「Web」だけをクリックすると、「Web」だけに属性が追加されますが、「Web > Web-215」またはそのフォルダー内の何かをクリックすると、Web AND が強調表示されます。ウェブ-215。また、「Web-215」の 3 番目のレベルである「jQuery」をクリックすると、3 つすべてで「現在」の属性が選択されます。異なるパスまたはリンクを選択する必要がある場合は、それらのルールに従う必要があります。
どこに行く必要があるのか わかりませんが、ここにライブの例があります:http://jsfiddle.net/knvH4/2/
これは、jsfiddle の javascript の 16 行目に問題があると思う場所です。
function youAreHere() {
var pathName = $(location).attr('pathname');
var curPage = pathName.substring(pathName.lastIndexOf('/') + 1);
$('a').each(function () {
if ($(this).attr('href') == curPage) {
$(this).attr('id', 'current');
} else if (curPage == '') {
$('a:first').attr('id', 'current');
}
}); //END function
1つだけでなく、すべてに「現在」の属性(またはID)が与えられるようにするには、どうすればよいですか。