Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] - prosta rzecz, funkcja bind, ale zgłupiałem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
elektrrrus
Witam,
mam taki kod:
  1. <?php
  2. $(function(){
  3.    var els = $('#mainMenu li').each(function(){
  4.        this.bind('mouseover', function(e){
  5.            e.css({'border':'1px solid red'});
  6.        });
  7.    });
  8. });
  9. ?>

#mainMenu to ul, lista z menu. Póki co testowo chce podłączyć zdarzenie, że dla najechania myszką na element listy, dostaje on obramowanie.
jQuery 1.3.1
Za chiny to nie chce działać, wfirebugu mam ciągle:
this.bind is not a function

Co robie źle? Nie mam już pojęcia.

-----------------------------
Mam teraz takie coś:
  1. <?php
  2. $(document).ready(function(){
  3.    var l = $('#mainMenu > li');
  4.    for (var x = 0; x < l.length; x++) {
  5.        l[x].hover(
  6.        function(){
  7.            l[x].css('border', '1px solid red');
  8.        }, function(){
  9.            l[x].css('border', 'none');
  10.        })
  11.    }
  12.    
  13. });
  14. ?>

i za każdym razem : l[x].hover is not a function.
Tylko dlaczego, przecież l to tablica elementów jquery, na których przeciez powinna być możliwość wykonywania jego funkcji?

-----------------------
sciana.gif przecież trzeba wywołać $(l[x])...
Już działa.
nexis
Niepotrzebnie tworzysz zmienną, a na zdecydowanie zbędna jest pętla. Wystarczy tak:

Kod
$(document).ready(function(){
   $("#mainMenu li").hover(
      function(){
         $(this).css('border', '1px solid red');
      },
      function(){
         $(this).css('border', 'none');
      }
   );
});
elektrrrus
Dzięki za podpowiedź. Chyba coraz lepiej panuje nad jQuery.
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.