Über Web, Tech, Games, Art,
Code & Design

24. Juni 2024

Tabbed Content

Mit folgendem Code lässt sich schnell und unkompliziert ein Tabbed-Content-Bereich umsetzen:

Eins
Zwei
Drei
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros.
Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore.

HTML

<div class="tabbed_content">
  <div class="tabswrap d-flex">
    <div class="tab">Eins</div>
    <div class="tab">Zwei</div>
    <div class="tab">Drei</div>
  </div>
  
  <div class="contentwrap">
    <div class="content">C1</div>
    <div class="content">C2</div>
    <div class="content">C3</div>
  </div>
</div>Code-Sprache: HTML, XML (xml)

CSS

.tabbed_content .tab{
    background: #F4F4F4;
    padding: 10px 20px;
    opacity: .4;
    cursor: pointer;
}

.tabbed_content .tab.active{
    opacity: 1;
    font-weight: bold;
}

.tabbed_content .content{
    background: #F4F4F4;
    padding: 20px;
    display: none;
}

.tabbed_content .content.active{
    display: block;
}Code-Sprache: CSS (css)

jQuery

$('.tabbed_content').each(function(){
    $(this).find('.tab').eq(0).addClass('active');
    $(this).find('.content').eq(0).addClass('active');
});

$('.tabbed_content .tab').bind('click', function(){
    $(this).parent().parent().find('.tab, .content').removeClass('active');
    $(this).addClass('active');
    $(this).parent().parent().find('.content').eq($(this).index()).addClass('active');
});Code-Sprache: JavaScript (javascript)

So kann das ganze als Lazy-Block mit Repeater umgesetzt werden:

<div class="tabbed_content">
  <div class="tabswrap d-flex">
    {{#each tab}}
    <div class="tab">{{label}}</div>
    {{/each}}
  </div>
  
  <div class="contentwrap">
    {{#each tab}}
    <div class="content">{{content}}</div>
    {{/each}}
  </div>
</div>Code-Sprache: HTML, XML (xml)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert