2016-02-18 2 views
2

У меня есть этот код из bootstrap .. и его использование в использовании, но моя проблема в том, что это не повлияло на другие вкладки, когда повторяется, что я хочу один идентификатор ко всем вкладкам. Как я могу это сделать? или то, что является лучшим решением ..bootstrap nav-tabs не повлиял на множественное содержимое вкладки

SITE

извините, если мой вопрос трудно понять, или ввести в заблуждение ..

DEMO

<div> 

    <!-- Nav tabs --> 
    <ul class="nav nav-tabs" role="tablist"> 
    <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li> 
    <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li> 
    <li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li> 
    <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li> 
    </ul> 

    <!-- Tab panes --> 
    <div class="tab-content"> 
    <div role="tabpanel" class="tab-pane active" id="home">...</div> 
    <div role="tabpanel" class="tab-pane" id="profile">...</div> 
    <div role="tabpanel" class="tab-pane" id="messages">...</div> 
    <div role="tabpanel" class="tab-pane" id="settings">...</div> 
    </div> 

</div> 

ответ

1

Таким образом, вы можете сделать это, просто добавляя уникальные идентификаторы для ваших нав-вкладок hrefs и вкладки панелей. Идентификаторы должны быть уникальными (что означает один на странице), поэтому, если у вас есть один файл #profile, то затем вам нужно будет сделать его # profile2 или что-то в этом роде. Но если вы не хотите вмешиваться в добавление кучи разных идентификаторов на свою страницу, вы можете вручную добавлять и удалять активные и в классах содержимое вашей вкладки и навигационные вкладки с помощью jquery. Затем вам нужно будет использовать функцию jquerys index(), чтобы найти номер элемента, на который вы нажали, и добавить соответствующие классы в правильную вкладку. Также вы не получите эффект затухания в следующем примере.

Таким образом, вы можете удалить идентификаторы из ваших закладок-панелей и #tabtarget из HREF вашего нав-вкладки и просто использовать следующую разметку:

<ul class="nav nav-tabs"> 
    <li class="active"><a href="#">Tab 1</a></li> 
    <li><a href="#">Tab 2</a></li> 
    <li><a href="#">Tab 3</a></li> 
    <li><a href="#">Tab 4</a></li> 
    </ul> 
    <div class="tab-content"> 
    <div class="tab-pane in active"> 
     <h3>Tab 1 Tab List 1</h3> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 2 Tab List 1</h3> 
     <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 3 Tab List 1</h3> 
     <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 4 Tab List 1</h3> 
     <p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p> 
    </div> 
    </div> 


    <ul class="nav nav-tabs"> 
    <li class="active"><a href="#">Tab 1</a></li> 
    <li><a href="#">Tab 2</a></li> 
    <li><a href="#">Tab 3</a></li> 
    <li><a href="#">Tab 4</a></li> 
    </ul> 
    <div class="tab-content"> 
    <div class="tab-pane in active"> 
     <h3>Tab 1 Tab List 2</h3> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 2 Tab List 2</h3> 
     <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 3 Tab List 2</h3> 
     <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 4 Tab List 2</h3> 
     <p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p> 
    </div> 
    </div> 


    <ul class="nav nav-tabs"> 
    <li class="active"><a href="#">Tab 1</a></li> 
    <li><a href="#">Tab 2</a></li> 
    <li><a href="#">Tab 3</a></li> 
    <li><a href="#">Tab 4</a></li> 
    </ul> 
    <div class="tab-content"> 
    <div class="tab-pane in active"> 
     <h3>Tab 1 Tab List 3</h3> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 2 Tab List 3</h3> 
     <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 3 Tab List 3</h3> 
     <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p> 
    </div> 
    <div class="tab-pane"> 
     <h3>Tab 4 Tab List 3</h3> 
     <p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p> 
    </div> 
    </div> 

А затем используйте следующий код JQuery для достижения Вашего желаемый результат:

$(document).ready(function(){ 
    $('.nav-tabs a').click(function(e){ 
    e.preventDefault(); 
    var tabIndex = $('.nav-tabs a').index(this); 
     $(this).parent().siblings().removeClass("active"); 
     $(this).parent().addClass("active"); 
     $('.tab-pane:eq('+tabIndex+')').siblings().removeClass("in active"); 
     $('.tab-pane:eq('+tabIndex+')').addClass("in active"); 
    }); 
}); 

Вот скрипку, чтобы показать вам это в действии Fiddle

+0

это прекрасно! –

2

Если я правильно понял ваш вопрос, потребность в HREF быть уникальным вместе с соответствующими divs панели. bootply demo - Как это:

<div> 
    <!-- Nav tabs --> 
    <ul class="nav nav-tabs" role="tablist"> 
    <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li> 
    <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li> 
    <li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li> 
    <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li> 
    </ul> 
    <!-- Tab panes --> 
    <div class="tab-content"> 
    <div role="tabpanel" class="tab-pane active" id="home">a</div> 
    <div role="tabpanel" class="tab-pane" id="profile">b</div> 
    <div role="tabpanel" class="tab-pane" id="messages">c</div> 
    <div role="tabpanel" class="tab-pane" id="settings">d</div> 
    </div> 
    <br> 
    <!-- Nav tabs --> 
    <ul class="nav nav-tabs" role="tablist"> 
    <li role="presentation" class="active"><a href="#home2" aria-controls="home" role="tab" data-toggle="tab">Home</a></li> 
    <li role="presentation"><a href="#profile2" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li> 
    <li role="presentation"><a href="#messages2" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li> 
    <li role="presentation"><a href="#settings2" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li> 
    </ul> 
    <!-- Tab panes --> 
    <div class="tab-content"> 
    <div role="tabpanel" class="tab-pane active" id="home2">e</div> 
    <div role="tabpanel" class="tab-pane" id="profile2">f</div> 
    <div role="tabpanel" class="tab-pane" id="messages2">g</div> 
    <div role="tabpanel" class="tab-pane" id="settings2">h</div> 
    </div> 
</div> 
+0

Ваш выход правильно, сэр, но то, что я хочу, сэр, я буду использовать один и тот же идентификатор аль l nav-tabs, поэтому мне не нужно создавать идентификатор каждый раз, когда я добавляю новый. –

+0

@misdirection, вы должны сохранить уникальные элементы Dom ID. Согласно WC3 «Атрибут id указывает уникальный идентификатор для элемента HTML (значение должно быть уникальным в документе HTML)». – Fergus

+1

спасибо, сэр за ответ. Я узнаю новое. –

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