2010-12-28 2 views
1

jqueryを使用してリンクの場所を交換する方法。jqueryを使用してリンクの場所を交換する方法

以下のナビゲーションは、各タブのコンテンツ部門になります。選択されたリンクは常に最初の「sixrevision」リンクの横に表示されます。

alt text

コードは、この

<ul id="crumbs"> 
    <li><a href="#" class="selected">Home</a></li> 
    <li><a href="#">product 1</a></li> 
    <li><a href="#">product 1</a></li> 
    <li><a href="#">product 1</a></li> 
    /ul> 

ようになりますこれは、Ajaxタブシステムになりますが、唯一のタブがパンくずのように見えます。最初のアイテムの次のアイテムに常に「選択済み」アイテムを保持する方法を知りたい。

+0

:// WWW。ソタナカ.com/web-design/examples/tabs/ –

答えて

1

私は少し異なるアプローチを取るだろうし、それはJSFiddleで以下に概説して実証されています例のリンク)

この利点は、変更が純粋なCSSによって開始できることです。サーバー側の変更を行う場合は、HTMLを変更したり、JavaScriptを適用したりする必要はありません。私は個人的にはこれが長期的にはよりクリーンで管理しやすいと感じています。

注:私は含む要素ファッション要素ではなく「選択された」クラスを持つように、少しHTMLを変更しました。私は、「選択された」クラスと「アクティブな」クラスをクリック要素とは対照的に、包含要素に適用することにより、より柔軟性があることを見出しました。

HTML

<ul id="crumbs"> 
    <li><a href="#">XHTML</a></li> 
    <li class="selected"><a href="#">Javascript</a></li> 
    <li><a href="#">Flash</a></li> 
    <li><a href="#">SEO</a></li> 
</ul> 

JS私は、このタブはhttpに統合する[例えば]

$(function(){ 
    $('ul#crumbs li a').bind('click',crumbClick) 
}); 

function crumbClick(){ 
    $('ul#crumbs .selected').removeClass('selected'); 
    $(this).parents('li').addClass('selected'); 
    return false; 
} 

CSS

/* RESET */ 
ul#crumbs, ul#crumbs li { margin:0;padding:0;} 

ul#crumbs li a {display:inline-block;padding:3px 4px;} 

ul#crumbs li {list-style:none;display:inline;} 

ul#crumbs li.selected {float:left;} 
+0

私は私のケースを試しました。スタイリングは変化していますが、そうではありません。私のCSSはあなたと違っています。 –

+0

IE 7では、あなたの例が正しく動作しません。クリックするとリンクがダウンします。しかし、あなたのスクリプトは本当に素晴らしいです。私はもう一つ必要があります。 1番目のリスト項目は影響を受けないようにします。どうやってするか? –

+0

最初の要素に関しては、あなたのサンプルグラフィックで 'SixRevisions'について話していますか? ULの内容は厳密に並べ替えのためのものです。ですから、私のデザインパターンに従って、** stand-still **要素、または*タイトル*または*ラベル*をULの外に置くことです。 – Sandwich

2

あなたはこのように、最初の子であることに、それを移動するために.selected 1を.prependTo()することができます(クリックしてみてください

$("#crumbs .selected").prependTo("#crumbs"); 
+0

@Jitendra - 私は質問に従わない...あなたは少し明確にすることができますか? –

+0

申し訳ありませんが、それはタイプミスでした。間違い。私は頼んでいるような効果を使っているウェブサイトを知っていますか? –

+0

@Jitendra - ああ、私が知っているわけではありません...もちろん、どちらにも気付かないでしょう。あなたがonclickをやっているなら...私はそうではありません、人々はボタンを動かすのが好きではありません。あなたがonloadをやっているのであれば、私はその質問から推測したものです。クライアントがHTMLを取得する前に、ほとんどの人はこのサーバーサイドをやります。 –

関連する問題