2010-12-28 4 views
1

Как обмениваться ссылками, используя jquery.Как поменять местами ссылки с помощью jquery

Под навигацией будет отображаться содержание div для каждой вкладки. выбранная ссылка всегда будет рядом с первой ссылкой «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> 

Это будет вкладка Аякса система, но только вкладка выглядит навигация. Я хочу знать, как сохранить «выбранный» элемент всегда в следующем первом элементе.

+0

Я хочу, чтобы интегрировать в этой вкладки HTTP: // WWW. sohtanaka .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

$(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 ** или * title * или * label * за пределы UL. – Sandwich

2

Вы можете .prependTo() в .selected один, чтобы переместить его, чтобы быть первым ребенком, как это:

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

@Jitendra - Я не следую этому вопросу ... можете ли вы немного пояснить? –

+0

Извините, что это была опечатка. ошибка. Я спрашивал, знаете ли вы какой-либо веб-сайт, который использует эффект, как я спрашиваю. –

+0

@ Джитендра - о, я не знаю ... но, конечно, вы тоже этого не заметили. Если вы делаете это onclick ... Я бы не хотел, людям не нравятся их кнопки, двигающиеся по ним. Если вы делаете это onload ... это то, что я предположил из этого вопроса, тогда большинство будет делать это на стороне сервера, прежде чем клиент получит какой-либо HTML. –

Смежные вопросы