Ich versuche gerade, am neuen Slider-Menü zu arbeiten, aber ich habe ein Problem mit Jquery.Jquery, kann das zuvor erstellte Attribut nicht aktualisieren
Ich habe einen Link. Wenn ich auf klicke, benutze ich .css ('left', -230) und alles ist in Ordnung, aber wenn ich durch einen anderen angeklickten Link wie .css ('left', 0) nichts passieren will.
zeige ich Ihnen einige Code:
// The open part "target.width()" = 230
$('.nav-item').on('click', function() {
if(0 < $(this).find('.navbar-nav__sub').length) {
var target = $('.navbar-nav');
target.css('left', -target.width());
}
});
// The close part
$('.navbar-nav__sub .go-back').on('click', function() {
console.log('HERE');
var target = $('.navbar-nav');
console.log(target);
console.log(target.css('left'));
target.css('left', 0);
console.log(target.css('left'));
console.log('END');
});
Eine seltsame Sache in diesem Problem ist, dass ich dies in meiner Konsole haben:
HERE
Object { 0: ul.navbar-nav.flex-column, length: 1, prevObject: […] }
-230px
0px
END
Es scheint, dass der Code funktionieren gut, aber in meiner Seite Das linke Attribut ist immer -230px.
Jemand hat eine Idee?
Vielen Dank.
PS: Wie gefragt die JSfiddle, der mein Problem
reproduzierenhttps://jsfiddle.net/w7Lknsxg/
Wenn Sie auf „Menu01“ Farbe zu rot, und wenn Sie klicken Sie auf „< =“ im Untermenü haben Sie die Ausführung in die Konsole aber die Farbe ändert sich nicht. Sie können sehen, die Klasse Navar-Nav bekommen neue Klasse "Toto" aber nicht verloren, wenn ich versuche, es im zweiten Fall zu entfernen.
können Sie eine Geige erstellen Sie bitte, damit wir CSS-Attribute – JoshKisb
prob etwas sehen zu tun mit Ereignis sprudeln, wenn Sie Ereignislistener auf verschachtelte Elemente platzieren. auf dem inneren Kind versuche 'event.stopPropagation();' – Quince