• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Męczenie elementu JS

Object Storage Arubacloud
0 głosów
151 wizyt
pytanie zadane 12 września 2019 w JavaScript przez Majonez.exe Gaduła (3,490 p.)
zamknięte 13 września 2019 przez Majonez.exe

Witam, jak zrobić żeby nie dało się męczyć elementu (rozwijane menu przy użyciu Jquery) na stronie https://aurolia-css.github.io jest menu i tam jest np. link "Forms" po kliknięciu w niego kilka razy zaczyna on się rozwijać i zwijać tak kilkanaście razy. szukałem i szukałem i nic nie znalazłem jak sobie z tym poradzić (wiem że Jquery nadaje kilka razy tą samą klasę ale jak tego uniknąć). Oto Kod (jakby ktoś potrzebował)

$(function(){
var Accordion = function(el, multiple) {
this.el = el || {};
this.multiple = multiple || false;
var link = this.el.find('.link');
link.on('click', {el: this.el, multiple: this.multiple},this.dropdown)
}
Accordion.prototype.dropdown = function(e) {
var $el = e.data.el;
$this = $(this),
$next = $this.next();
$next.slideToggle();
$this.parent().toggleClass('open');
if(!e.data.multiple){
$el.find('.submenu').not($next).slideUp().parent().removeClass('open');
}
}
var accordion = new Accordion($('#accordion'), false);
});

 

komentarz zamknięcia: Rozwiązane

2 odpowiedzi

+1 głos
odpowiedź 12 września 2019 przez Chess Szeryf (76,710 p.)
edycja 12 września 2019 przez Chess
 
Najlepsza

To nic innego jak kolejkowanie zapytania do przeglądarki. Klikasz 10 razy na menu w bardzo krótkim odstępie czasu. Zamiast rozwinąć się raz i zależnie od konfiguracji w skrypcie, zawinąć się też raz. To zamiast tego rozwinie się 10 razy i zwinie też 10. Aby temu zapobiec możesz skorzystać (jeśli już korzystasz z JQuery) z funkcji .clearQueue().finish() i stop().

// ...
Accordion.prototype.dropdown = function(e) {

var $el = e.data.el;
$this = $(this),
$next = $this.next();
$next.clearQueue().finish();
$next.stop();
// ...

Wszystko lub prawie wszystko jest do znalezienia w wyszukiwarce np. DuckDuckGo, wystarczy wpisać taką frazę m.inn. prevent queue on event JQuery.

komentarz 12 września 2019 przez Majonez.exe Gaduła (3,490 p.)
Dziękuje działa, szukałem w (Kochanym) google i nie znalazłem przynajmniej.
komentarz 12 września 2019 przez Majonez.exe Gaduła (3,490 p.)
A i jeszcze, kiedy znowu "katuje" ten element to animacja zeruje się do początku (a potem kończy) chciałbym żeby powróciła jak po normalnym kliknięciu a nie zresetowała się, nie wiem jak to naprawić znów.
1
komentarz 12 września 2019 przez Chess Szeryf (76,710 p.)

Zamiast tego

$next.clearQueue().finish();

napisz tak

$next.clearQueue();
komentarz 12 września 2019 przez Majonez.exe Gaduła (3,490 p.)
nie pomyślałem że ".finish" to winowajca ... Dziękuje jeszcze raz
0 głosów
odpowiedź 12 września 2019 przez ScriptyChris Mędrzec (190,190 p.)
komentarz 12 września 2019 przez Majonez.exe Gaduła (3,490 p.)
Przynajmniej nic nie zrozumiałem
komentarz 12 września 2019 przez ScriptyChris Mędrzec (190,190 p.)
Czego konkretnie nie rozumiesz? Przeczytałeś artykuł?
komentarz 13 września 2019 przez Majonez.exe Gaduła (3,490 p.)
Problem rozwiązany już. Zapomniałem zamknąć tematu.

Podobne pytania

0 głosów
1 odpowiedź 295 wizyt
pytanie zadane 21 listopada 2022 w JavaScript przez chrystian Gaduła (4,780 p.)
0 głosów
1 odpowiedź 80 wizyt
+1 głos
2 odpowiedzi 227 wizyt
pytanie zadane 11 lipca 2021 w JavaScript przez Doge Gaduła (3,370 p.)

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...