Piszę skrypt do obsługi prostego slajdera który działa w ten sposób że są zdjęcia poboczne z odnośnikami do artykułów i jedno główne ( równierz linkiem ) i w zamyśle co jakiś czas skrypt pobiera dane jednego z tych zdjęć ( po kolei ) i wyświetla je i jego link jako to główne. A problem który mam związany jest z funkcją zamien() ( skrypt poniżej ) który polega na tym że iteracjna zmienna " i " automatycznie zwiększa swój numer tylko wtedy jeśli usunie się zmienne które przechwytują no i podmieniają kod html by uzyskać docelowy efekt działania slaidera. Jeśli nie usunę lub nie wezmę w komentarz tych zmiennych ( opisane punktami 1 i 2 w funkcji zamien() ) to zmienna i sie nie zmienia i na ekranie wyświetla mi się tylko liczba 1 ( od której rozpoczynać ma się odliczanie ). Dodam na koniec tyle że zmienne działają prawidłowo - te z pkt 1 prawidłowo wychwytują adresy linków i zdjęć gdy je wyświetlic a te z pkt2 prawidłowo podmieniają ( gdy użyć ich po za funkcją kopiując kod ). Gdy oczywiście usuniemy te zmienne z pkt 1 i 2 to zmienna i działa w 100% prawidłowo zmieniając co dwie sekundy swoją wartośc.

Proszę o sugestię bo się wyłożyłem na tym facepalmxd.gif . Z góry dzięki za odpowiedzi.


PS funkcja tb() zwraca tablicę z przechwytywanymi elementami i to na jej pododstawie działą funkcja zamien() . Obydwie funkcje uruchamiane są w sekcji $(document).ready .

  1.  
  2.  
  3. function tb()
  4. {
  5. var elm = new Array() ;
  6.  
  7. elm['a'] = new Array() ;
  8.  
  9. elm['a']['main'] = $("#main_start > #g_slaid > #m_foto a") ;
  10. elm['a'][1] = $("#main_start > #g_slaid > #s1 a") ;
  11. elm['a'][2] = $("#main_start > #g_slaid > #s2 a") ;
  12. elm['a'][3] = $("#main_start > #g_slaid > #s3 a") ;
  13. elm['a'][4] = $("#main_start > #g_slaid > #s4 a") ;
  14. elm['a'][5] = ' $("#main_start > #g_slaid > #s4 a") ' ;
  15.  
  16. elm['img'] = new Array() ;
  17. elm['img']['main'] = $("#main_start > #g_slaid > #m_foto img") ;
  18. elm['img'][1] = $("#main_start > #g_slaid > #s1 img") ;
  19. elm['img'][2] = $("#main_start > #g_slaid > #s2 img") ;
  20. elm['img'][3] = $("#main_start > #g_slaid > #s3 img") ;
  21. elm['img'][4] = $("#main_start > #g_slaid > #s4 img") ;
  22.  
  23.  
  24.  
  25.  
  26. elm['test'] = new Array;
  27.  
  28.  
  29.  
  30.  
  31.  
  32. return elm ;
  33. }
  34.  
  35.  
  36. var i = 1 ;
  37.  
  38. function zamien(take)
  39. {
  40. var sek = i++ ; // zmienna iteracyjna
  41.  
  42.  
  43.  
  44. // 1 - przechwytywanie adresów linków i zdjęć z pobocznych propozycji
  45.  
  46. var track = take['a'][sek] ;
  47. var img = take['img'][sek] ;
  48.  
  49. // 2 - przechtywywanie i podmiana adresów zdjęcia i linków głównego zdjęcia slaidera
  50.  
  51. var main_a = take['a']['main'].attr("href",track) ;
  52. var main_img = take['img']['main'].attr("src",img) ;
  53.  
  54.  
  55. // 3 - robocze ustawienie wyświetlające zawartości zmiennych na potrzeby testu
  56.  
  57. $("body").html("<br>>" + sek) ;
  58.  
  59.  
  60.  
  61.  
  62. if(i == 5)
  63. { i = 1 ; }
  64.  
  65.  
  66. setTimeout("zamien()",1000)
  67. }
  68.  
  69.  
  70.  
  71. $(document).ready(function(){
  72.  
  73. var take = tb() ;
  74.  
  75. // alert( take['img']['main'].attr("src") ) ;
  76.  
  77. zamien(take) ;
  78.  
  79.  
  80.  
  81. //
  82.  
  83.  
  84.