Witam,
mam pewien problem ze skryptem służącym centrowaniu obrazków w sliderze.
Wiadomo, że JS zostaje wykonany wcześniej jak HTML więc próbowałem najpierw załadować obrazki AJAX'em a następnie wykonać skrypt JS jednak nie przyniosło to rezultatu.
Gdy odświeżam stronę (CTRL + F5), obrazki są źle wycentrowane gdyż wartość height() i width() dla obrazków jest równa "0"...

Oto skrypt JS:
  1. $(document).ready(function() {
  2. var slideID = 0;
  3. var allSlides = 0;
  4. var startShow = 1;
  5. var maxShow = 4;
  6. $(".sponsors .slider span").each(function() {
  7. slideID += 1;
  8. allSlides += 1;
  9. $(this).attr('id', slideID);
  10. if($(this).attr("id") <= maxShow) {
  11. $(this).show();
  12. } else {
  13. $(this).hide();
  14. }
  15. var blockWidth = $(this).width();
  16. var blockHeight = $(this).height();
  17. var logoWidth = $(this).children().width();
  18. var logoHeight = $(this).children().height();
  19. alert(logoHeight);
  20. $(this).children().css({
  21. 'margin-top' : (blockHeight - logoHeight) / 2 + "px",
  22. 'margin-left' : (blockWidth - logoWidth) / 2 + "px",
  23. });
  24. });
  25. });


A oto HTML:
  1. <div class="sponsors">
  2. <div class="headline">Sponsorzy</div>
  3. <div class="action prev"></div>
  4. <div class="slider">
  5. <span><img src="img/logo-top.png" /></span>
  6. <span><img src="img/logo.png" /></span>
  7. <span><img src="img/logo-top.png" /></span>
  8. <span><img src="img/logo.png" /></span>
  9. <span><img src="img/logo-top.png" /></span>
  10. <span><img src="img/logo.png" /></span>
  11. </div>
  12. <div class="action next"></div>
  13. </div>


Dodam, że gdy odświeżam stronę (F5), obrazki są już ładnie centrowane...


Będę wdzięczny za wszelką pomoc, bo siedzę nad tym już dobre kilka godzin bez efektu...


Dodam jeszcze wcześniejszy kod AJAX:
  1. $.ajax({
  2. type: "POST",
  3. url : "sponsors.html",
  4. load33: function (XMLHttpRequest) {
  5. $(".sponsors .slider").html("Trwa pobieranie danych?");
  6. },
  7. success: function(msg) {
  8. $(".sponsors .slider").html(msg);
  9. },
  10. error: function (XMLHttpRequest, textStatus, errorThrown) {
  11. $(".sponsors .slider").html('Błąd ładowania danych !');
  12. }
  13. });


AJAX jak i JS zamieszczałem w różnych miejscach i nic...
Jeszcze raz bardzo proszę Was o pomoc.

Serdecznie pozdrawiam,
Kamil Dunaj

___________________________________________
Już sobie z tym poradziłem, można zamknąć lub usunąć smile.gif