Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Jquery] Dodawanie elementów przez append
Monter08
post 17.01.2012, 13:56:28
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


Witam!
Mam problem z prawidłowym dodaniem elementów do danego diva. Otóż stworzyłem div o id="news-box" do którego lądują wszystkie newsy które są pobierane przez jquery i dodawane przez append, w tym miejscu pojawia się problem, ponieważ div news w css ma ustawiony background na img i gdy jquery wrzuca wszystko do news-boxa to ustawia tylko background dla jednego zamiast dla wszystkich.
Zastanawia mnie jeszcze jedna rzecz, dlaczego dodane elementy nie są interpretowane poprzez inne funkcje (przykładem może być rozsuwany element, działa tylko ten który wstawiłem na sztywno).
Źródło -> Tutaj (Postawione u mnie, wiec jeżeli nie działa oznacza że mnie nie ma smile.gif

Ten post edytował Monter08 17.01.2012, 13:58:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post 17.01.2012, 14:01:46
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Zastanawia mnie jeszcze jedna rzecz, dlaczego dodane elementy nie są interpretowane poprzez inne funkcje (przykładem może być rozsuwany element, działa tylko ten który wstawiłem na sztywno).

delegate()

Cytat
ponieważ div news w css ma ustawiony background na img i gdy jquery wrzuca wszystko do news-boxa to ustawia tylko background dla jednego zamiast dla wszystkich.

Hę? A nie pomyliłeś czasem id z klasą?

Strona mi się nie wczytała do końca, temu zgaduję.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Monter08
post 17.01.2012, 14:08:16
Post #3





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


Cytat
Hę? A nie pomyliłeś czasem id z klasą?

Tzn?
Go to the top of the page
+Quote Post
erix
post 17.01.2012, 14:28:19
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Czego nie rozumiesz?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Monter08
post 17.01.2012, 14:31:14
Post #5





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


Nie rozumiem, jak mogłem pomylić id z class, gdy ustawia tylko jednemu background.
oczywiście, nadal nie rozwiązałem problemu...

Ten post edytował Monter08 17.01.2012, 15:52:27
Go to the top of the page
+Quote Post
erix
post 17.01.2012, 19:12:30
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Opisz problem jasno i klarownie, a nie tak, że trzeba się większości domyślać, co miałeś na myśli.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Monter08
post 17.01.2012, 19:49:45
Post #7





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


Przepraszam, otóż chce uzyskać taki efekt: Gdy osoba kliknie w przycisk "pokaż więcej newsów" jquery poprzez jsona pobiera sobie te newsy i wyświetla dodając do diva news-box, news w css ustawiony ma background, height itd (jest to nie istotne).
W jquery napisałem coś takiego.

  1. $(document).ready(function(){
  2.  
  3. function getnews(form, to)
  4. {
  5. $.getJSON("test.php?jsoncallback=?",{},function(json) {
  6. if(json.length) {
  7. for(i=0; i < json.length; i++) {
  8. $('#news-box').append('<div class="news" id="'+json[i].id+'"><p class="date">dodane przez '+json[i].nick+' dnia '+json[i].addday+'</p><p class="title">'+json[i].title+'</p><p class="value">'+json[i].value+'</p><a class="more" href="#'+json[i].id+'">czytaj dalej</a></div>');
  9. }
  10. } else alert("nima");
  11.  
  12. });
  13. }
  14.  
  15.  
  16. $('p.wiecej').click(function(){
  17. getnews(3,4);
  18. $(".news:odd").css("float", "right");
  19. $(".news:even").css("float", "left");
  20. });
  21. });

Z założenia po naciśnięciu "pokaż więcej" ma pobrać dwa kolejne newsy, aktualnie dodaje tylko 1 background i dodaje pierwszy newsy tak jak powinno, lecz drugi już bez backgrounda co oczywiście miesza dwa newsy i wygląda to tak jak by były dwa w jednym (screen: ), gdy kliknę jeszcze raz, znowu jeden dostaje backgrounda pozostałe nie, za trzecim razem już zostają tylko dwa bez backgrounda wiec musiało otrzymać dwa newsy, wiec nie wiem jak to w ogóle działa.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:13