我在我的網站中有動態選項卡菜單,選項卡菜單項可能是2或3,可能是20+。 所以當導航項目超過10+時自動下降到第二行見here。如果達到限制,可移動動態引導選項卡菜單滑塊
我不想要這種效果,我想如果導航限制到達,所以下一個箭頭圖標出現,通過點擊它,剩下的菜單項將向左移動。
我試過但沒有成功。
HTML
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Tab1 example</a></li>
<li><a href="#">Tab2 example</a></li>
<li><a href="#">Tab3 example</a></li>
<li><a href="#">Tab4 example</a></li>
<li><a href="#">Tab5 example</a></li>
<li><a href="#">Tab6 example</a></li>
<li><a href="#">Tab7 example</a></li>
<li><a href="#">Tab8 example</a></li>
<li><a href="#">Tab9 example</a></li>
<li><a href="#">Tab10 example</a></li>
<li><a href="#">Tab11 example</a></li>
<li><a href="#">Tab12 example</a></li>
</ul>
</div>
<button id="goPrev">Prev</button>
<button id="goNext">Next</button>
CSS
.wrap {
overflow: hidden;
position: relative;
white-space: nowrap;
width:1000px;
background: #dad9d9;
border: 1px solid #efefef;
}
.wrap>.nav-tabs {
display: inline-block;
padding:0;
margin:0;
position: relative;
top: 0;
left: 0;
}
.wrap>.nav-tabs>li {
background: #fff;
display: inline-block;
position: relative;
white-space: normal;
float: none;
}
.nav-tabs>li>a {
margin-right: 0;
}
的JavaScript/JQuery的
var wrap = $(".wrap").width();
var el = $("ul").width();
if (el > wrap) {
$("#goNext").click(function() {
$("ul").stop(true);
if (-parseInt($("ul").css("left")) - wrap < 0) {
$("ul").animate({
"left": "+=-" + wrap
}, "slow")
} else {
$("ul").animate({
"left": "-" + (el - wrap)
}, "slow")
}
});
$("#goPrev").click(function() {
$("ul").stop(true);
if (-parseInt($("ul").css("left")) - wrap > 0) {
$("ul").animate({
"left": "+=" + wrap
}, "slow")
} else {
$("ul").animate({
"left": "0"
}, "slow")
}
});
}
注意:我不想爲這個小東西使用任何插件也確保滑塊應該是響應。
謝謝
什麼你正在尋找的是右側的菜單項滑蓋的?看看http://www.owlgraphic.com/owlcarousel/demos/custom.html –
我不想使用整個插件只是爲了這個小功能 –
根據你的問題,你的'bootply demo'工作正常,你還想要什麼 ? –