Arrow Indicator For Tabbed Content - jQuery ArrowTabs
| File Size: | 61.5 KB |
|---|---|
| Views Total: | 3489 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
The jQuery ArrowTabs script lets you create a tabs interface that comes with fade in/out animations and has an arrow indicator pointing to the activated tabbed content.
How to use it:
1. Create the HTML for the tabs interface.
<div class="arrow-tabs ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" role="tablist">
<li class="ui-state-default ui-corner-top ui-tabs-active" role="tab">
<a href="#tab1" class="ui-tabs-anchor" role="presentation">
<span>Tab 1</span>
</a>
</li>
<li class="ui-state-default ui-corner-top" role="tab">
<a href="#tab2" class="ui-tabs-anchor" role="presentation">
<span>Tab 2</span>
</a>
</li>
<li class="ui-state-default ui-corner-top" role="tab">
<a href="#tab3" class="ui-tabs-anchor" role="presentation">
<span>Tab 3</span>
</a>
</li>
</ul>
<div class="contents">
<div id="tab1" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel">
<h2>Tab 1 Content</h2>
</div>
<div id="tab2" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" style="display: none;">
<h2>Tab 2 Content</h2>
</div>
<div id="tab3" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" style="display: none;">
<h2>Tab 3 Content</h2>
</div>
</div>
</div>
2. The necessary CSS/CSS3 styles for the tabs interface & arrow indicator.
.arrow-tabs {
width: 90%;
min-width: 360px;
margin: auto;
padding: 50px;
}
.arrow-tabs > ul {
text-align: center;
font-weight: 500;
padding: 0;
position: relative;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
z-index: 1;
}
.arrow-tabs > ul > li {
display: inline-block;
background: #fafafa;
padding: 0.6em 0;
position: relative;
width: 33%;
margin: 0 0 0 -4px;
}
.arrow-tabs > ul > li:before, .arrow-tabs > ul > li:after {
opacity: 0;
transition: 0.3s ease;
}
.arrow-tabs > ul > li.ui-tabs-active:before, .arrow-tabs > ul > li.ui-tabs-active:after {
opacity: 1;
}
.arrow-tabs > ul > li.ui-tabs-active a {
color: #009994;
}
.arrow-tabs > ul > li:hover:before, .arrow-tabs > ul > li:hover:after, .arrow-tabs > ul > li:focus:before, .arrow-tabs > ul > li:focus:after {
opacity: 1;
}
.arrow-tabs > ul > li:before, .arrow-tabs > ul > li.ui-state-active:hover:before, .arrow-tabs > ul > li.ui-state-active:focus:before {
content: "";
position: absolute;
z-index: -1;
box-shadow: 0 2px 3px rgba(0, 153, 148, 0.5);
top: 50%;
bottom: 0px;
left: 5px;
right: 5px;
border-radius: 100px / 10px;
}
.arrow-tabs > ul > li:after, .arrow-tabs > ul > li.ui-state-active:hover:after, .arrow-tabs > ul > li.ui-state-active:focus:after {
content: "";
background: #fafafa;
position: absolute;
width: 12px;
height: 12px;
left: 50%;
bottom: -6px;
margin-left: -6px;
transform: rotate(45deg);
box-shadow: 3px 3px 3px rgba(0, 153, 148, 0.5), 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.arrow-tabs > ul > li:hover:before, .arrow-tabs > ul > li:focus:before {
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
.arrow-tabs > ul > li:hover:after, .arrow-tabs > ul > li:focus:after {
box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2), 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.arrow-tabs > ul > li:focus {
outline: none;
}
.arrow-tabs > ul > li a {
color: #444;
text-decoration: none;
}
.arrow-tabs > ul > li a:focus {
outline: none;
text-decoration: none;
}
.arrow-tabs > ul > li a span {
position: relative;
top: -0.5em;
}
3. Include the necessary jQuery JavaScript library at the bottom of the page.
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
4. The jQuery script to activate the tab interface.
$('.arrow-tabs a').click(function (e) {
e.preventDefault()
var selectedTab = $(this).parent();
var ul = selectedTab.parent();
ul.find("li").removeClass("ui-tabs-active ui-state-active ui-state-hover").attr("aria-selected", false);
selectedTab.addClass("ui-tabs-active ui-state-active").attr("aria-selected", true);
// show/hide content
var content = ul.parent().find(".contents .ui-tabs-panel");
content.hide();
ul.parent().find($(this).attr("href")).fadeIn(200);
})
This awesome jQuery plugin is developed by bezzad. For more Advanced Usages, please check the demo page or visit the official website.











