Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Warunek if czy tablica
Forum PHP.pl > Forum > XML, AJAX
dela
Witam! Mam mały problem nie wiem jak zrobić żeby po najechaniu na #menu nic nie robiło. (jestem początkującym w jq)
  1. $('div').hover(function() {
  2. id = $(this).attr('id');
  3. menu = $('#menu').toggleClass('hidden');
  4. $('#'+id).append(menu);
  5. });


Zasada działania jest następująca: po najechaniu na jakiś div zapisuje jego id to zmiennej id. Jak najedzie się myszką np. na div o nazwie abc to przez fn. append doda element do diva abc itp. Problem polega na tym, że jeżeli się najedzie myszą najpierw na diva abc a później na element dodany w tym przypadku menu to dodany element znika i się "blokuje" nie wyświetli go/ trzeba odświeżyć stronę. Długo myślałem na tym i doszedłem do wnioski że po najechaniu na menu próbuje dodać element do menu. Jak zrobić żeby po najechaniu na menu nie zachodziła żadna akcja. Może postawić warunek do $('!warunek!').hover(function() że wszystkie divy oprócz menu były akceptowane? Czy z tablicy wybrać wszystkie divy.
kamil4u
Pomysł z id mnie trochę rozbawił smile.gif :
Kod
        $('div').hover(function() {
         menu = $('#menu').toggleClass('hidden');
         this.append(menu);
         });


Co do problemu to z tego co zrozumiałem: http://api.jquery.com/attribute-not-equal-selector/
dela
Zrobiłem tak jak radziłeś i pomogło ale mam jeszcze taki drobny problem. Jak najade na element "menu" to przy każdym przeciągnięciu myszy element "menu" mryga.

Problem rozwiązany, trochę na około ale działa biggrin.gif
  1.  
  2. $('#menu').hide();
  3. $('div').hover(function() {
  4. menu = $('#menu').show();
  5. $(this).not(':#menu')
  6. .append(menu)
  7. .mouseleave(function() {
  8. $('#menu').hide();
  9. });
  10. });
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.