Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Galeria - klikniecie na obrazek wywoluje nastepny
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


Witam

Mam taki kod :

  1. if($_POST['gallery'] == 'yes') {
  2. $rows = $data->galleryKategory($_POST['kategory'],$_POST['dir']);
  3. $imgs = explode(', ', $rows[0]['img_dir']);
  4. $count = count($imgs);
  5. $width = $count*660;
  6. echo '<div id="gallery" class="gallery">'.
  7. '<div class="img_container" id="img_container" style="width:'.$width.'px;">';
  8. for($i=0; $i<$count; $i++) {
  9. echo '<img src="'.$imgs[$i].'" alt="na">';
  10. }
  11. echo '</div>'.
  12. '<a href="java script:; class="prev"></a>'.
  13. '<a href="java script:; class="next"></a>'.
  14. '</div>';
  15. }


Z grupsza wytlumacze o co chodzi zeby nie trzeba bylo sie meczyc (IMG:style_emoticons/default/winksmiley.jpg)

Wiec pobieram sobie ilosc obrazkow z bazy danych i na tej podstawie generowana jest ilosc znacznikow img o src ktore pochodzi z bazy danych, zawsze generuje sie kilka img.

No i teraz kod jQuery ktory po kliknieciu na obrazek powinien go przesuwac :

  1. //jQuery Doc
  2. //---------------------------
  3. //zmienne dla galerii
  4. $move_by = 660;
  5. $frame_left = 0;
  6. $frame_no = 1;
  7.  
  8. $(document).ready(function() {
  9.  
  10. //------------------------------------------
  11. // Obsluga galerii
  12. $max_clicks = $("#img_container").children.size;
  13.  
  14. $(".img_container img").live("click", function(){
  15. $new_frame_no = (($frame_no/1) + 1);
  16. $new_left = (($frame_left/1) + $move_by);
  17. $new_left_attr = $new_left + "px";
  18. if($new_frame_no < $max_clicks) {
  19. $("#img_container").animate({left: $new_left_attr}, 800);
  20. $frame_left = $new_frame_left;
  21. $frame_no = $new_frame_no;
  22. }
  23. });
  24. });


Jak widzimy w pierwszej linijce :
  1. $(".img_container img").click(function(){

Klikniecie na img powinno spowodowac wywolanie danego dzialania zawartego dalej w funkcji ale tak sie niestety nie dzieje.

Wszystkie obrazki laduja sie prawidlowo ale nie chca sie przesuwac......

Ten post edytował Wolfie 18.09.2009, 12:03:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Wolfie
post
Post #2





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

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


Ostatnio mialem ten problem ze ladowalem ajaxem kod ktory generowal kolejny load() i wtedy uzywalem poprostu funkcji live().

A czy musze przerabiac cala funkcje na ajax() czy wystarczy ze podam DataType jako parametr load() ?

-------------------------------------------------------
Zrobilem taka kombinacje :

  1. $("div.data a").live("click",function(){
  2. $('#foto').ajax({
  3. url: "gallery.php",
  4. type: "POST",
  5. data: ({'dir':$(this).parent('div.data').attr('rel'),
  6. 'kategory':$(this).parent('div.data').attr('value'),
  7. 'gallery':'yes'}),
  8. dataType: "script",
  9. success: function(){
  10. $(this).hide().fadeIn('slow');
  11. }
  12. });


No ale wywala mi blad ze ajax to nie funkcja, no i teraz sie zamotalem bo nie wiem jak mam obsluzyc click w takim wypadku, no bo nie podepne do $('#foto') click bo przeciez chce klikac na $('#div.data a') ale chce tez ladowac skrypt do $('#foto').....no i sie pogubilem....

Firebug wywala mi taki blad :

Cytat
$("#foto").ajax is not a function
[Break on this error] success: function(){\r\n


Ten post edytował Wolfie 18.09.2009, 16:34:57
Go to the top of the page
+Quote Post

Posty w temacie


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: 29.12.2025 - 20:10