Ich habe ein Bootstrap-Registerkarten-Menü und ich habe meinen Tab Responsive auf Tablet und mobilen Geräten gemacht, wenn Sie meine Demo auf Handy oder Tablet auschecken - wenn Sie die Größe der Seite kleiner als 768 px ändern, sehen Sie meinen Responsive Tab. aber wenn ich meine Seite wieder auf> 768px skaliere, möchte ich mein Tabs Menü wieder als nicht reagierend (Standard) bekommen und ich denke, ich muss meine Funktion beenden? wie kann ich das machen ?Wie deaktiviert js Funktion?
!function(t){var o=function(){var o,e=[],n=!1,i=function(t){clearTimeout(o),o=setTimeout(d,100)},d=function(){for(var t=0,o=e.length;t<o;t++)e[t].apply()};return{register:function(o){e.push(o),!1===n&&(t(window).bind("resize",i),n=!0)},unregister:function(t){for(var o=0,n=e.length;o<n;o++)if(e[o]==t){delete e[o];break}}}}(),e=function(e,n){this.element=t(e),this.dropdown=t('<li class="dropdown hide pull-right tabdrop"><a class="dropdown-toggle" data-toggle="dropdown" href="#">'+n.text+' <b class="caret"></b></a><ul class="dropdown-menu"></ul></li>').prependTo(this.element),this.element.parent().is(".tabs-below")&&this.dropdown.addClass("dropup"),o.register(t.proxy(this.layout,this)),this.layout()};e.prototype={constructor:e,layout:function(){var o=[];this.dropdown.removeClass("hide"),this.element.append(this.dropdown.find("li")).find(">li").not(".tabdrop").each(function(){this.offsetTop>0&&o.push(this)}),o.length>0?(o=t(o),this.dropdown.find("ul").empty().append(o),1==this.dropdown.find(".active").length?this.dropdown.addClass("active"):this.dropdown.removeClass("active")):this.dropdown.addClass("hide")}},t.fn.tabdrop=function(o){return this.each(function(){var n=t(this),i=n.data("tabdrop"),d="object"==typeof o&&o;i||n.data("tabdrop",i=new e(this,t.extend({},t.fn.tabdrop.defaults,d))),"string"==typeof o&&i[o]()})},t.fn.tabdrop.defaults={text:'<i class="icon-align-justify"></i>'},t.fn.tabdrop.Constructor=e}(window.jQuery);
function tabMobile() {
if ($(window).width() < 768) {
$(' .nav-tabs').tabdrop({
text: 'Click to navigation',
align: 'right',
});
} else {
//kill function here
}
}
$(document).ready(function() {
tabMobile();
});
$(window).resize(function() {
tabMobile();
});
.main {
width: 960px;
margin: 30px auto;
}
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>
<div class="main">
<!-- 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>
<li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Configuration</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 role="tabpanel" class="tab-pane" id="settings">...</div>
</div>
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js'></script>
'kill' eine Funktion? Meinst du wie ein Booler machen und den Call dagegen schützen? – Surreal
Warum verwenden Sie keine Medienabfragen (oder nutzen Sie das Raster-System von Bootstrap), um die Dinge dorthin zu bringen, wo Sie sie haben wollen? –
Ich möchte meinen Tab Responsive auf dem Tablet machen und ich benutze Plugin. Wenn meine Auflösung weniger als 768px ist, dann mache meine Registerkarte responsive, aber wenn nicht, mach meine Registerkarte nicht reaktionsfähig, du kannst meine Demo sehen, wenn du auf den Demo Link klickst und wenn du die Seite für Handy änderst, wirst du sehen, dass sie reaktionsfähig ist aber wenn meine Auflösung nicht weniger als 768 px ist, möchte ich sie nicht reaktionsfähig machen –