Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Przesuwanie ofert.
MeGusta
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Witam,
Mam problem z zrobieniem przesuwania ofert, po kliknięciu w div który ma data-id="x" funkcja generuje z tablicy kod html a następnie wstawia go do diva .galery, problem w tym, że po kliknięciu na .move-left przesuwa się tylko o jedno lub wogole, dodatkowo funkcja generate_min ktora generuje html z miniaturkami zdjęć z tej samej tablicy generuje ostatnie zdjecie + nowe, a nie tylko nowe.

Klikniecie na oferte:

  1. $('.realize').click(function(){
  2.  
  3. $this = $(this);
  4.  
  5. var data = $this.attr('data-id');
  6.  
  7. $('body').append('<div class="black-screen"><div class="galery">' + generateview(data) + '</div></div>');
  8.  
  9. $('.move-right').click(function(){
  10. data++;
  11. $('.galery').html(generateview(parseInt(data) + 1))
  12. console.log(parseInt(data) + 1)
  13. });
  14.  
  15. $('.move-left').click(function(){
  16. $('.galery').html(generateview(parseInt(data) - 1))
  17. console.log(parseInt(data) - 1)
  18. data--;
  19. });
  20.  
  21. });


Funkcja generująca miniaturki:

  1. var min_img_for = [];
  2.  
  3. function generate_min(data)
  4. {
  5. $.each(data_realize[data][7], function(key, value) {
  6. min_img_for += '<div class="img-sml"> ' + value + ' </div>';
  7. });
  8.  
  9. return min_img_for;
  10. }


Do funkcji generateview podaję id z atrybutu data-id po którym wyswietlam dane z tablicy.

Struktura html:
  1. <div data-id="1" class="realize">
  2. <img src="img/realizacja-1.png" alt="" />
  3. <div class="realize-hover"></div>
  4. <div class="desc-realize">
  5. Tablice Reklamowe (Billboard)
  6. </div>
  7. </div>
  8. <div data-id="2" class="realize">
  9. <img src="img/realizacja-1.png" alt="" />
  10. <div class="realize-hover"></div>
  11. <div class="desc-realize">
  12. Tablice Reklamowe (Billboard)
  13. </div>
  14. </div>
  15.  
  16. i tak dalej


Sama tablica wygląda tak:
  1. var data_realize =
  2. [[
  3. 0,
  4. '<img src="./img/big-img-realize.png" />',
  5. 'Bilboard dla <br>"Galeria Krakowska"',
  6. 'Lorem Ipsum jes...',
  7. '21 dni',
  8. '5m x 2.5m',
  9. '500 zł',
  10. ['<img src="./img/min-image-realize.png" />', ''] // tu sa miniaturki
  11. ],
  12. ];


Ten post edytował MeGusta 28.08.2016, 13:07:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


W skrócie. Każdy element tak długo ma zdarzenia, jak długo występuje w dokumencie i nie zostanie nadpisany lub zdarzenie usunięte. Chyba że zdarzenie nasłuchuje rodzic wtedy nowo utworzony element będzie wiedział jak się zachować. Tu masz to opisane.
Go to the top of the page
+Quote Post

Posty w temacie
- MeGusta   [JavaScript]Przesuwanie ofert.   28.08.2016, 13:06:01
- - nospor   Sieczka... totalny brak logiki i jeden wielki haos...   28.08.2016, 13:10:47
- - MeGusta   Poprawione: [HTML] pobierz, plaintext $('.rea...   28.08.2016, 13:15:51
- - nospor   Nogdzie nie widze bys aktualizowal atrybut data-id...   28.08.2016, 13:17:33
- - MeGusta   Zwiększam za każdym kliknięciem data++; Próbowałem...   28.08.2016, 13:21:35
- - nospor   CytatZwiększam za każdym kliknięciem data++; Co z ...   28.08.2016, 13:24:18
- - MeGusta   Właśnie tu problem leży, że po kliknieciu na div ....   28.08.2016, 13:32:56
- - nospor   Dobrze by bylo jakbys to wystawil online   28.08.2016, 13:34:34
- - MeGusta   https://jsfiddle.net/9gh9h1f3/2/ Przesuwa się tym...   28.08.2016, 13:44:32
- - nospor   A mozesz te strzalki dac na gore? Bo na moim lapku...   28.08.2016, 13:56:18
- - MeGusta   Jasne, proszę bardzo. https://jsfiddle.net/9gh9h1...   28.08.2016, 13:58:55
- - nospor   W prawo przesuwa ci sie tylko raz, bo jak kliknies...   28.08.2016, 14:06:23
- - MeGusta   Masz na myśli abym generował onclick dla strzałek?   28.08.2016, 14:18:56
- - nospor   Teraz generujesz CLICK dla strzales w momencie otw...   28.08.2016, 14:25:49
- - MeGusta   Kurcze nie rozumiem, moze dla tego ze dopiero zacz...   28.08.2016, 14:47:19
- - viking   W skrócie. Każdy element tak długo ma zdarzenia, j...   28.08.2016, 15:01:44
- - MeGusta   Jeśli uzyję .on('click', function(){}) i p...   28.08.2016, 15:15:23
- - viking   Dlaczego masz this stracić? Albo można je przepisa...   28.08.2016, 15:51:21
- - MeGusta   Kurcze, siedze od rana nad tym i chyba nic sam nie...   28.08.2016, 19:31:32
- - nospor   Jedyne co miales zrobic to zamienic CLICK na ON. W...   28.08.2016, 22:16:56
- - MeGusta   Zmieniłem lecz nadal nie działa.   29.08.2016, 00:41:23
- - nospor   No to pokaz kod po zmianach   29.08.2016, 10:43:21
- - MeGusta   [HTML] pobierz, plaintext $('.realize')....   29.08.2016, 16:34:38
- - nospor   data++; no ale to chyba masz zwiekszac przed funck...   29.08.2016, 20:39:23
- - MeGusta   łap: https://jsfiddle.net/9gh9h1f3/4/ Nie mam poj...   30.08.2016, 19:18:58
- - nospor   Pod ON miales podpiac strzalki a nie obrazki glown...   30.08.2016, 21:02:07
- - MeGusta   Dobra, zamieniłem tak jak mówiłeś, lecz nadal tak ...   31.08.2016, 18:54:40
- - nospor   dziwne... a powinno dzialac. Pewnie jakis glupi bl...   31.08.2016, 19:05:47


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

 



RSS Aktualny czas: 3.10.2025 - 10:19