Jskrypt nie dziala po ponownym wczytaniu strony.

0

witam mam problem ze skryptem który powiększa i zmniejsza obrazki działa on dopóki nie powrócimy do strony tytułowej klikając w menu

.... 
 $(".obrazek").mouseover( powieksz );
$(".obrazek").mouseout( pomniejsz );
...
function pomniejsz(){
    $(this).stop();
    $(this).animate( {width: 200, height:150}, 200 );
...

na początku strona główna jest zincludowana przez PHP później już przeładowana jest ajaxem, czy skrypt powinien się odświeżać czy coś w tym stylu? oto link do strony: http://originalcompany.awsome.pl/ z góry dzięki za pomoc.

0

przypisując zdarzenie do elementów robisz to tylko do elementów, które aktualnie istnieją. jeżeli wymieniasz/dodajesz nowe elementy - musisz do nich przypisać zdarzenie jeszcze raz. czyli po zaktualizowaniu dokumentu wywołaj te dwie funkcje jeszcze raz (tylko zlimituj to tylko do elementów nowo utworzonych czyli coś w stylu $('#zawartosc_ajax .obrazek')). możesz też użyć live (poszukaj w dokumentacji jQuery o użyciu) - ale jest to niezalecane do stron często modyfikujących DOM (jeżeli masz dużo skryptów i nie wiesz co one konkretnie robią - to lepiej unikać live)

0

Nie należy już używać .live() -- rzeczywiście, od dość dawna było niezalecane (na rzecz .delegate()), a teraz w ogóle jest zdeprecjonowane (=nie powinno się go używać, bo wyleci niedługo z jQuery) na rzecz .on().

Tego ostatniego można natomiast jak najbardziej użyć:

$("#targetArea").on({ mouseover: powieksz, mouseout: pomniejsz }, ".obrazek");

Polecam poczytać o .on() ( http://api.jquery.com/on/ ) i o delegacji zdarzeń (ang. event delegation).

0

Dziękuje za szybką odpowiedź Użycie .on() jak najbardziej pomogło. Zapomniałem że większość czasu programista spędza przy dokumentacji. Pozdrawiam Proceder1234.

1 użytkowników online, w tym zalogowanych: 0, gości: 1