Robię sobie rozwijane menu za pomocą jQuery, a konkretnie funkcji slideToggle(). Podgląd na żywo dostępny jest tutaj:
http://tomek.rychtyk.pl/workshop/afryka/product.html - chodzi o ten zielony button 'Wybierz opakowanie'.
Niby wszystko wygląda ok - po najechaniu kursorem ładnie rozwija się menu z gramaturami, po "zdjęciu" kursora, menu się zwija. Problem w tym, że jQuery kolejkuje te "najechania" myszką i przez to, jeśli szybko przewinę kursorem w dół i w górę (w obrębie przycisku oczywiście) to owe menu będzie się wysuwać i wsuwać i tak aż do wykonania wszystkich "najechań".
Inna rzecz: jak najadę na 'Wybierz opakowanie' a później szybko na którąś z gramatur (na tyle szybko by menu nie zdążyło się całe rozwinąć) to jest podobny problem do opisanego powyżej.
Kod JS:
$(".pack").hover(function() { $(".ribbon").slideToggle("slow"); });
Próbowałem dodać przed wywołaniem slideToggle: stop(true, true) - nie pomogło.
Próbowałem z $(".ribbon").clearQueue(); oraz $(".ribbon").dequeue() - też lipa.
Tzn. w przypadku dwóch ostatnich prób to "pomogło" o tyle, że nie kolejkowało najechań myszką na button, ale za to.. po jednej animacji w ogóle już nie reagowało na hover.
Aha, apropo animacji, to próbowałem też zastąpić slideToggle() funkcją animate() mniej więcej w ten sposób:
$(".ribbon").animate({height:"toggle", opacity:"toggle"}, "slow");
i efekt był ten sam :/
Mam już dość.
Spotkał się ktoś może z tym problemem i ma jakiś skuteczny lek na to?
Z góry dzięki
Pozdrawiam