Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nowo wczytane przyciski, dodanie do nich akcji, Delegate(), jquery, ajax, nowe obiekty
Sztef89
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


Witam,

Ostatnio napotkałem problem z nowo wczytanymi przyciskami przez ajax, po prostu nie można utworzyć do nich żadnej funkcji normalnie - bo przez wczytaniem skryptów js tych obiektów nie było. Poczytałem że trzeba użyć funkcji delegate. Chciałbym do każdego obiektu utworzyć efekt najazdu oraz akcję dla kliknięcia. Zrobiłem to w taki sposób:

  1. $("body").delegate('#button-w', 'mouseover', function() {
  2. document.getElementById('icon-watch').style.background='no-repeat url(./images/recomm.png) 0px -86px';
  3. });
  4.  
  5. $("body").delegate('#button-w', 'mouseout', function() {
  6. document.getElementById('icon-watch').style.background='no-repeat url(./images/recomm.png) 0px -74px';
  7. });
  8. $("body").delegate('#button-w', 'click', function() {
  9. alert('kliknięto !');
  10. });


czy można to w jakiś sposób skrócić ?
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Oczywiście. Naucz się jquery a nie piszesz takie stworki
[JAVASCRIPT] pobierz, plaintext
  1. document.getElementById('icon-watch').style.background='no-repeat url(./images/recomm.png) 0px -86px';
[JAVASCRIPT] pobierz, plaintext

[JAVASCRIPT] pobierz, plaintext
  1. $('#icon-watch').css('backgroundPosition', '0px -86px');
[JAVASCRIPT] pobierz, plaintext
Powód edycji: [wookieb]:


--------------------
Go to the top of the page
+Quote Post
Sztef89
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


Hehe racja ale chodziło mi o coś innego, z tego powyższego kodu chciałem zrobić coś w tym stylu:

  1.  
  2. $("#jakiesid").mouseover(function(){
  3. jakaś funkcja
  4. }).mouseout(function(){
  5. jakaś funkcja
  6. }).click(function(){
  7. jakaś funkcja
  8. });

Czy tak dałoby się zapisać poprzednią funkcję ?

Przepraszam za tamte "stworki" ale skopiowałem prosto z html z akcji bezpośrednio dla przycisku tongue.gif

--- EDIT ---
Heh, już mam! Nie wiem czemu mi to wcześniej nie przyszło do głowy.

  1. $("body").delegate('.button-w', 'mouseover', function() {
  2. $('.icon-watch').css('backgroundPosition', '0px -86px');
  3. }).delegate('.button-w', 'mouseout', function() {
  4. $('.icon-watch').css('backgroundPosition', '0px -74px');
  5. }).delegate('.button-w', 'click', function() {
  6. alert('kliknięto !');
  7. });


Ten post edytował Sztef89 29.10.2011, 17:16:00
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:24