2015-05-26 5 views
5

Ich benutze Jasny Bootstrap offcanvas navbar (http://jasny.github.io/bootstrap/components/#navmenu-offcanvas), die geschlossen wird, wenn ein Klickereignis an einer anderen Stelle auf der Seite auftritt. Wir haben jedoch einen Twitter-Feed, der geändert wurde, um zwischen 3 verschiedenen Twitter-Accounts zu wechseln. Um zwischen ihnen zu wechseln, wird ein Klick ausgelöst. Dies führt dazu, dass das NavMenu jedes Mal geschlossen wird, wenn die Tweets wechseln, und ich kann es anscheinend nicht verhindern. HierVerhindern, dass eine Navbar mit dem Trigger eines anderen Elements geschlossen wird Klicken Sie auf

ist der twitter Scroll-Code:

var tabCarousel = setInterval(function() { 
    var tabs = $('#twittertab > li'), 
     active = tabs.filter('.active'), 
     nextone = active.next('li'), 
     toClick = nextone.length ? nextone.find('a') : tabs.eq(0).find('a'); 
    toClick.trigger('click'); 
}, 5000) 

Ich habe versucht preventDefault() und stopPropagation() zum trigger('click') Anwendung, aber ich bin sehr unerfahren mit jQuery und bin wirklich nur raten, wo dies zu setzen.

+0

Geben Sie den entsprechenden 'Klick'-Handler ein –

+0

Entschuldigung, nicht sicher, was Sie meinen, ich bin sehr unerfahren mit jQuery und versuche einfach, das Problem für einen Kollegen zu beheben, während er weg ist – DJC

+0

Dieser' toClick.trigger ('click '); 'rufen Sie einen mit jQuery gebundenen Handler auf, können Sie ihn posten? Weil ein besserer Weg wäre, die Handler-Funktion aufzurufen und das Click-Ereignis nicht auszulösen. Wenn dies durch ein externes Plugin eingestellt wird, kann dies komplizierter sein. Sie sollten besser ein minimalistisches Beispiel bereitstellen, das Ihr Problem repliziert, zB mit jsFiddle –

Antwort

1

Für alle, die ein ähnliches Problem haben, ist die Antwort einfach, wenn es Ihnen nichts ausmacht, die Navigationsleiste mit einem Klick außerhalb der Navigationsleiste zu schließen. Dh, die Lösung bedeutet, dass das Klicken außerhalb der Navigationsleiste nicht zum Schließen führt.

Fügen Sie einfach 'data-autohide = "false"' zum Offcanvas-Element hinzu.

Ich habe dann eine Funktion hinzugefügt, um den Navbar-Status beim Klicken auf einen Link in der Navigationsleiste wie folgt umzuschalten:

$('#my-menu > li > a').click(function() { 
    $('.navmenu').offcanvas('toggle'); 
}); 

Das bedeutet, wenn Sie Links, die auf eine andere Seite gehen nicht, aber ein Anker irgendwo auf der gleichen Seite, wird das Menü schließen, wenn Sie zu diesem Abschnitt bewegen Sie sich.

0

Wenn Sie den NavMenu innen Link klicken, um zu schließen sind, wollen, dann müssen Sie dieses Skript
$(document).ready(function(){$('.navmenu a').click(function() { $('.navmenu').offcanvas('hide'); });})
in Ihrem Code hinzufügen "Daten-autohide =" false "" auf diesen
<div class="navmenu navmenu-default navmenu-fixed-right offcanvas">
und hinzufügen. das ist es.
Hinweis: Es ist Arbeit wie Charme in der einzelnen Seite Anwendung.

Verwandte Themen