תיעוד ודוגמאות לשימוש ברכיבי הניווט הכלולים של Bootstrap.

ניווט בסיס

ניווט זמין ב-Bootstrap חולק סימון וסגנונות כלליים, .navממעמד הבסיס ועד למצבים פעילים ומושבתים. החלף מחלקות שינוי כדי לעבור בין כל סגנון.

רכיב הבסיס .navבנוי עם flexbox ומספק בסיס חזק לבניית כל סוגי רכיבי הניווט. הוא כולל כמה דחיפות סגנון (לעבודה עם רשימות), כמה ריפוד קישורים לאזורי פגיעה גדולים יותר וסגנון נכים בסיסי.

רכיב הבסיס .navאינו כולל שום .activeמדינה. הדוגמאות הבאות כוללות את המחלקה, בעיקר כדי להדגים שהמחלקה הספציפית הזו אינה מפעילה שום סטיילינג מיוחד.
<ul class="nav">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

השיעורים משמשים לאורך כל הדרך, כך שהסימון שלך יכול להיות גמיש במיוחד. השתמש ב- <ul>s כמו לעיל, <ol>אם סדר הפריטים שלך חשוב, או גלגל משלך עם <nav>אלמנט. בגלל .navהשימושים display: flex, קישורי הניווט מתנהגים כמו פריטי ניווט, אך ללא הסימון הנוסף.

<nav class="nav">
  <a class="nav-link active" href="#">Active</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

סגנונות זמינים

שנה את הסגנון של .navרכיב s עם מתקנים וכלי עזר. מערבבים ומתאימים לפי הצורך, או בנה משלך.

יישור אופקי

שנה את היישור האופקי של הניווט שלך עם כלי עזר flexbox . כברירת מחדל, ניווטים מיושרים לשמאל, אך ניתן לשנות אותם בקלות למרכז או לימין.

מרוכז עם .justify-content-center:

<ul class="nav justify-content-center">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

מיושר לימין עם .justify-content-end:

<ul class="nav justify-content-end">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

אֲנָכִי

ערמו את הניווט שלכם על ידי שינוי כיוון הפריט הגמיש עם .flex-columnכלי השירות. האם צריך לערום אותם בכמה נקודות מבט אבל לא באחרים? השתמש בגרסאות הרספונסיביות (למשל, .flex-sm-column).

<ul class="nav flex-column">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

כמו תמיד, ניווט אנכי אפשרי <ul>גם ללא s.

<nav class="nav flex-column">
  <a class="nav-link active" href="#">Active</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

כרטיסיות

לוקח את הניווט הבסיסי מלמעלה ומוסיף את .nav-tabsהמחלקה כדי ליצור ממשק עם כרטיסיות. השתמש בהם כדי ליצור אזורים הניתנים לכרטיסיות עם הפלאגין שלנו לכרטיסייה JavaScript .

<ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

גלולות

קח את אותו HTML, אבל השתמש .nav-pillsבמקום זאת:

<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

למלא ולהצדיק

הכריח את .navהתוכן שלך להרחיב את מלוא הרוחב הזמין באחת משתי מחלקות שינוי. כדי למלא באופן פרופורציונלי את כל השטח הפנוי ב- .nav-items שלך, השתמש ב- .nav-fill. שימו לב שכל השטח האופקי תפוס, אבל לא לכל פריט ניווט יש אותו רוחב.

<ul class="nav nav-pills nav-fill">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Much longer nav link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

בעת שימוש <nav>בניווט מבוסס, אתה יכול להשמיט בבטחה .nav-itemשכן .nav-linkנדרש רק עבור <a>אלמנטים של עיצוב.

<nav class="nav nav-pills nav-fill">
  <a class="nav-link active" href="#">Active</a>
  <a class="nav-link" href="#">Much longer nav link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

עבור אלמנטים ברוחב שווה, השתמש .nav-justified. כל המרחב האופקי יתפוס על ידי קישורי ניווט, אך בניגוד .nav-fillלאמור לעיל, כל פריט ניווט יהיה באותו רוחב.

<ul class="nav nav-pills nav-justified">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Much longer nav link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

בדומה .nav-fillלדוגמא באמצעות <nav>ניווט מבוסס -.

<nav class="nav nav-pills nav-justified">
  <a class="nav-link active" href="#">Active</a>
  <a class="nav-link" href="#">Much longer nav link</a>
  <a class="nav-link" href="#">Link</a>
  <a class="nav-link disabled">Disabled</a>
</nav>

עבודה עם כלי עזר גמישים

אם אתה צריך וריאציות ניווט רספונסיביות, שקול להשתמש בסדרה של כלי שירות flexbox . אמנם יותר מילולי, אבל כלי עזר אלה מציעים התאמה אישית גדולה יותר על פני נקודות שבירה רספונסיביות. בדוגמה שלמטה, הניווט שלנו יערם על נקודת השבירה הנמוכה ביותר, ואז יתאימו לפריסה אופקית שתמלא את הרוחב הזמין החל מנקודת השבירה הקטנה.

<nav class="nav nav-pills flex-column flex-sm-row">
  <a class="flex-sm-fill text-sm-center nav-link active" href="#">Active</a>
  <a class="flex-sm-fill text-sm-center nav-link" href="#">Longer nav link</a>
  <a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
  <a class="flex-sm-fill text-sm-center nav-link disabled">Disabled</a>
</nav>

לגבי נגישות

אם אתה משתמש ב-navs כדי לספק סרגל ניווט, הקפד להוסיף א role="navigation"למיכל האב ההגיוני ביותר של ה- <ul>, או לעטוף <nav>אלמנט סביב כל הניווט. אל תוסיף את התפקיד <ul>לעצמו, מכיוון שזה ימנע את הכרזתו כרשימה ממשית על ידי טכנולוגיות מסייעות.

שים לב שסרגלי ניווט, גם אם הם מעוצבים בצורה ויזואלית ככרטיסיות עם .nav-tabsהכיתה, אין לתת role="tablist", role="tab"או role="tabpanel"תכונות. אלה מתאימים רק לממשקי כרטיסיות דינמיים, כמתואר בתבנית הכרטיסיות של מדריך שיטות הכתיבה של ARIA . ראה התנהגות JavaScript עבור ממשקים דינמיים עם כרטיסיות בסעיף זה לדוגמא.

שימוש בתפריטים נפתחים

הוסף תפריטים נפתחים עם מעט HTML נוסף ואת הפלאגין JavaScript הנפתחות .

כרטיסיות עם תפריטים נפתחים

<ul class="nav nav-tabs">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">Action</a>
      <a class="dropdown-item" href="#">Another action</a>
      <a class="dropdown-item" href="#">Something else here</a>
      <div class="dropdown-divider"></div>
      <a class="dropdown-item" href="#">Separated link</a>
    </div>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

גלולות עם תפריט נפתח

<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">Action</a>
      <a class="dropdown-item" href="#">Another action</a>
      <a class="dropdown-item" href="#">Something else here</a>
      <div class="dropdown-divider"></div>
      <a class="dropdown-item" href="#">Separated link</a>
    </div>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled">Disabled</a>
  </li>
</ul>

התנהגות JavaScript

השתמש בתוסף ה-JavaScript הלשונית - כלול אותו בנפרד או דרך bootstrap.jsהקובץ המורכב - כדי להרחיב את כרטיסיות הניווט והגלולות שלנו ליצירת חלוניות ניתנות לכרטיסיות של תוכן מקומי.

אם אתה בונה את JavaScript שלנו מהמקור, זה דורשutil.js .

ממשקים דינמיים עם כרטיסיות, כמתואר בדפוס הכרטיסיות של מדריך ARIA Authoring Practices , דורשים role="tablist", role="tab", role="tabpanel", ותכונות נוספות aria-על מנת להעביר את המבנה, הפונקציונליות והמצב הנוכחי שלהם למשתמשים בטכנולוגיות מסייעות (כגון קוראי מסך). כשיטת עבודה מומלצת, אנו ממליצים להשתמש <button>באלמנטים עבור הכרטיסיות, מכיוון שמדובר בפקדים שמפעילים שינוי דינמי, במקום קישורים שמנווטים לדף או מיקום חדש.

שים לב שהתוסף לשונית JavaScript אינו תומך בממשקי כרטיסיות המכילים תפריטים נפתחים, שכן אלו גורמים לבעיות שימושיות ונגישות כאחד. מנקודת מבט של שימושיות, העובדה שאלמנט ההדק של הכרטיסייה המוצגת כעת אינו גלוי מיד (כיוון שהוא נמצא בתוך התפריט הנפתח הסגור) עלולה לגרום לבלבול. מנקודת מבט של נגישות, אין כרגע דרך הגיונית למפות סוג זה של מבנה לדפוס WAI ARIA סטנדרטי, כלומר, לא ניתן להפוך אותו בקלות להבנה למשתמשים בטכנולוגיות מסייעות.

תוכן מציין מיקום עבור חלונית הכרטיסייה. זה קשור ללשונית הבית. לוקח אותך קילומטרים גבוה, כל כך גבוה, כי יש לה חיוך בינלאומי אחד. יש זר במיטה שלי, יש דפיקות בראש שלי. אוי לא. בחיים אחרים הייתי גורם לך להישאר. כי אני, אני מסוגל להכל. מתאים לקרב הכתר שלי. נהגו לגנוב את המשקאות של ההורים שלכם ולטפס לגג. גוון, בכושר שזוף ומוכן, הגביר אותו כי הוא נהיה כבד. האהבה שלה היא כמו סם. אני מניח ששכחתי שיש לי ברירה.

תוכן מציין מיקום עבור חלונית הכרטיסייה. זה קשור ללשונית הפרופיל. יש לך את הארכיטקטורה הטובה ביותר. חותמות דרכון, היא קוסמופוליטית. בסדר, רענן, עז, יש לנו את זה על הנעילה. מעולם לא תכננתי שיום אחד אאבד אותך. היא אוכלת לך את הלב. הנשיקה שלך היא קוסמית, כל מהלך הוא קסם. אני מתכוון לאלה, אני מתכוון כאילו היא האחת. שלום אהובים בואו נצא למסע. פשוט הבעלים של הלילה כמו ה-4 ביולי! אבל אתה מעדיף להתבזבז.

Placeholder content for the tab panel. This one relates to the contact tab. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-toggle="tab" data-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="profile-tab" data-toggle="tab" data-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="contact-tab" data-toggle="tab" data-target="#contact" type="button" role="tab" aria-controls="contact" aria-selected="false">Contact</button>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">...</div>
</div>

כדי לעזור להתאים לצרכים שלך, זה עובד עם <ul>סימון מבוסס, כפי שמוצג לעיל, או עם כל סימון שרירותי של "גלגל משלך". שים לב שאם אתה משתמש ב- <nav>, אל תוסיף role="tablist"ישירות אליו, מכיוון שזה יעקוף את התפקיד המקורי של האלמנט כנקודת ציון לניווט. במקום זאת, עבור לאלמנט חלופי (בדוגמה למטה, פשוט <div>) ועטוף <nav>אותו.

<nav>
  <div class="nav nav-tabs" id="nav-tab" role="tablist">
    <button class="nav-link active" id="nav-home-tab" data-toggle="tab" data-target="#nav-home" type="button" role="tab" aria-controls="nav-home" aria-selected="true">Home</button>
    <button class="nav-link" id="nav-profile-tab" data-toggle="tab" data-target="#nav-profile" type="button" role="tab" aria-controls="nav-profile" aria-selected="false">Profile</button>
    <button class="nav-link" id="nav-contact-tab" data-toggle="tab" data-target="#nav-contact" type="button" role="tab" aria-controls="nav-contact" aria-selected="false">Contact</button>
  </div>
</nav>
<div class="tab-content" id="nav-tabContent">
  <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">...</div>
  <div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">...</div>
  <div class="tab-pane fade" id="nav-contact" role="tabpanel" aria-labelledby="nav-contact-tab">...</div>
</div>

תוסף הכרטיסיות עובד גם עם כדורים.

תוכן מציין מיקום עבור חלונית הכרטיסייה. זה קשור ללשונית הבית. לוקח אותך קילומטרים גבוה, כל כך גבוה, כי יש לה חיוך בינלאומי אחד. יש זר במיטה שלי, יש דפיקות בראש שלי. אוי לא. בחיים אחרים הייתי גורם לך להישאר. כי אני, אני מסוגל להכל. מתאים לקרב הכתר שלי. נהגו לגנוב את המשקאות של ההורים שלכם ולטפס לגג. גוון, בכושר שזוף ומוכן, הגביר אותו כי הוא נהיה כבד. האהבה שלה היא כמו סם. אני מניח ששכחתי שיש לי ברירה.

Placeholder content for the tab panel. This one relates to the profile tab. You got the finest architecture. Passport stamps, she's cosmopolitan. Fine, fresh, fierce, we got it on lock. Never planned that one day I'd be losing you. She eats your heart out. Your kiss is cosmic, every move is magic. I mean the ones, I mean like she's the one. Greetings loved ones let's take a journey. Just own the night like the 4th of July! But you'd rather get wasted.

Placeholder content for the tab panel. This one relates to the contact tab. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.

<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="pills-home-tab" data-toggle="pill" data-target="#pills-home" type="button" role="tab" aria-controls="pills-home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="pills-profile-tab" data-toggle="pill" data-target="#pills-profile" type="button" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="pills-contact-tab" data-toggle="pill" data-target="#pills-contact" type="button" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</button>
  </li>
</ul>
<div class="tab-content" id="pills-tabContent">
  <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">...</div>
  <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">...</div>
  <div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">...</div>
</div>

ועם כדורים אנכיים.

תוכן מציין מיקום עבור חלונית הכרטיסייה. זה קשור ללשונית הבית. ראיתי אותך במרכז העיר שר את הבלוז. ראה אותך מקיף את הניקוז. למה אתה לא נותן לי לעצור? כבד הוא הראש שנושא את הכתר. כן, אנחנו גורמים למלאכים לבכות, כשהם ממטירים על האדמה מלמעלה. רוצה לראות את התוכנית בתלת מימד, סרט. האם אי פעם הרגשת, מרגישה כל כך דליל בנייר. זה כן או לא, אולי לא.

Placeholder content for the tab panel. This one relates to the profile tab. Takes you miles high, so high, 'cause she’s got that one international smile. There's a stranger in my bed, there's a pounding in my head. Oh, no. In another life I would make you stay. ‘Cause I, I’m capable of anything. Suiting up for my crowning battle. Used to steal your parents' liquor and climb to the roof. Tone, tan fit and ready, turn it up cause its gettin' heavy. Her love is like a drug. I guess that I forgot I had a choice.

Placeholder content for the tab panel. This one relates to the messages tab. You got the finest architecture. Passport stamps, she's cosmopolitan. Fine, fresh, fierce, we got it on lock. Never planned that one day I'd be losing you. She eats your heart out. Your kiss is cosmic, every move is magic. I mean the ones, I mean like she's the one. Greetings loved ones let's take a journey. Just own the night like the 4th of July! But you'd rather get wasted.

Placeholder content for the tab panel. This one relates to the settings tab. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.

<div class="row">
  <div class="col-3">
    <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
      <button class="nav-link active" id="v-pills-home-tab" data-toggle="pill" data-target="#v-pills-home" type="button" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</button>
      <button class="nav-link" id="v-pills-profile-tab" data-toggle="pill" data-target="#v-pills-profile" type="button" role="tab" aria-controls="v-pills-profile" aria-selected="false">Profile</button>
      <button class="nav-link" id="v-pills-messages-tab" data-toggle="pill" data-target="#v-pills-messages" type="button" role="tab" aria-controls="v-pills-messages" aria-selected="false">Messages</button>
      <button class="nav-link" id="v-pills-settings-tab" data-toggle="pill" data-target="#v-pills-settings" type="button" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</button>
    </div>
  </div>
  <div class="col-9">
    <div class="tab-content" id="v-pills-tabContent">
      <div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">...</div>
      <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">...</div>
      <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">...</div>
      <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">...</div>
    </div>
  </div>
</div>

שימוש בתכונות נתונים

אתה יכול להפעיל טאב או ניווט בגלולה מבלי לכתוב שום JavaScript על ידי ציון data-toggle="tab"או data-toggle="pill"על אלמנט. השתמש בתכונות הנתונים האלה ב- .nav-tabsאו .nav-pills.

<!-- Nav tabs -->
<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-toggle="tab" data-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="profile-tab" data-toggle="tab" data-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="messages-tab" data-toggle="tab" data-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="settings-tab" data-toggle="tab" data-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
  </li>
</ul>

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

דרך JavaScript

אפשר כרטיסיות הניתנות לכרטיסיות באמצעות JavaScript (יש להפעיל כל כרטיסייה בנפרד):

$('#myTab button').on('click', function (event) {
  event.preventDefault()
  $(this).tab('show')
})

אתה יכול להפעיל כרטיסיות בודדות בכמה דרכים:

$('#myTab button[data-target="#profile"]').tab('show') // Select tab by name
$('#myTab li:first-child button').tab('show') // Select first tab
$('#myTab li:last-child button').tab('show') // Select last tab
$('#myTab li:nth-child(3) button').tab('show') // Select third tab

אפקט דהייה

כדי לגרום לכרטיסיות לדעוך, הוסף .fadeלכל .tab-pane. חלונית הכרטיסייה הראשונה חייבת גם .showלהפוך את התוכן הראשוני לגלוי.

<div class="tab-content">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
  <div class="tab-pane fade" id="messages" role="tabpanel" aria-labelledby="messages-tab">...</div>
  <div class="tab-pane fade" id="settings" role="tabpanel" aria-labelledby="settings-tab">...</div>
</div>

שיטות

שיטות ומעברים אסינכרוניים

כל שיטות ה-API הן אסינכרוניות ומתחילות מעבר . הם חוזרים למתקשר ברגע שהמעבר מתחיל אבל לפני שהוא מסתיים . בנוסף, תתעלם מקריאת שיטה על רכיב מעבר .

עיין בתיעוד JavaScript שלנו למידע נוסף .

$().tab

מפעיל רכיב טאב ומכל תוכן. ל-Tab צריך להיות תכונה data-targetאו, אם משתמשים בקישור, hrefתכונה המכוונת לצומת מכיל ב-DOM.

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <button class="nav-link active" id="home-tab" data-toggle="tab" data-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="profile-tab" data-toggle="tab" data-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="messages-tab" data-toggle="tab" data-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
  </li>
  <li class="nav-item" role="presentation">
    <button class="nav-link" id="settings-tab" data-toggle="tab" data-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
  </li>
</ul>

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

<script>
  $(function () {
    $('#myTab li:last-child button').tab('show')
  })
</script>

.tab('show')

בוחר את הכרטיסייה הנתונה ומציג את החלונית המשויכת לה. כל כרטיסייה אחרת שנבחרה בעבר תבוטל והחלונית המשויכת לה מוסתרת. חוזר אל המתקשר לפני שחלונית הכרטיסיות הוצגה בפועל (כלומר לפני shown.bs.tabהתרחשות האירוע).

$('#someTab').tab('show')

.tab('dispose')

הורס לשונית של אלמנט.

אירועים

בעת הצגת כרטיסייה חדשה, האירועים יופעלו בסדר הבא:

  1. hide.bs.tab(בלשונית הפעילה הנוכחית)
  2. show.bs.tab(בלשונית להצגה)
  3. hidden.bs.tab(בלשונית הפעילה הקודמת, זהה לזה של hide.bs.tabהאירוע)
  4. shown.bs.tab(בלשונית הפעילה שזה עתה הוצגה, זהה לזו של show.bs.tabהאירוע)

אם אף כרטיסייה לא הייתה פעילה, אז האירועים hide.bs.tabו- hidden.bs.tabלא יופעלו.

סוג אירוע תיאור
show.bs.tab אירוע זה מופעל בהצגת כרטיסיות, אך לפני שהכרטיסייה החדשה הוצגה. השתמש event.targetובכדי event.relatedTargetלמקד ללשונית הפעילה ולכרטיסייה הפעילה הקודמת (אם זמינה) בהתאמה.
הכרטיסייה.bs.showed אירוע זה מופעל בהצגת כרטיסיות לאחר הצגת כרטיסייה. השתמש event.targetובכדי event.relatedTargetלמקד ללשונית הפעילה ולכרטיסייה הפעילה הקודמת (אם זמינה) בהתאמה.
hide.bs.tab אירוע זה מופעל כאשר יש להציג כרטיסייה חדשה (ולכן יש להסתיר את הכרטיסייה הפעילה הקודמת). השתמש event.targetובכדי event.relatedTargetלמקד לכרטיסייה הפעילה הנוכחית ולכרטיסייה החדשה שתהיה פעילה בקרוב, בהתאמה.
hidden.bs.tab אירוע זה מופעל לאחר הצגת כרטיסייה חדשה (ולכן הכרטיסייה הפעילה הקודמת מוסתרת). השתמש event.targetובכדי event.relatedTargetלמקד ללשונית הפעילה הקודמת ולכרטיסייה הפעילה החדשה, בהתאמה.
$('button[data-toggle="tab"]').on('shown.bs.tab', function (event) {
  event.target // newly activated tab
  event.relatedTarget // previous active tab
})