[ raxy80 @ 02.03.2013. 13:52 ] @
Radio sam jedan tutorial gde se slike ucitavaju u galeriju (div) na odredjeni interval uz pomoc ajax-a.
Radi tranzicije ubacena je beforeSend opcija gde su slike gubile (uz pomoc fadeOut i hide) pre nego sto bi se poslao zahtev serveru.
Medjutim kod mene se u isto vreme slike gube i pojavljuju, tj. ne ceka se sa zahtevom dok se izvrsava funkica pod beforeSend.
Jel moze neko da mi objasni cemu onda sluzi beforeSend opcija a takodje i timeout opcija.
[ Nikola Poša @ 02.03.2013. 21:06 ] @
Bilo bi mnogo lakše kada bi poslao malo kôda, čisto da u odgovorima ne bi dobijao samo neka dodatna pitanja, zbog nejasno postavljenog problema. Ali aj' da probamo da nagađamo...

Najpre, mislim da su te dve opcije, beforeSend i timeout, dosta jasno opisane u dokumentaciji, pa mi se, barem po tome što si napisao, čini da ih koristiš na pogrešan način, tj. u pogrešne svrhe.

Ali na stranu to, mislim da je srž problema u načinu korišćenja fadeOut i hide funkcija, pošto vidim da pominješ to neko istovremeno skrivanje/pojavljivanje slika. Ako pogledaš dokumentaciju za npr. fadeOut, primetićeš da ona prihvata i taj drugi parametar - complete. Taj callback će biti pozvan kada se animacija završi, te pretpostavljam da je to momenat kada bi ti hteo da započne učitavanje sledeće slike.
[ raxy80 @ 04.03.2013. 11:40 ] @
Code:

var GALLERY = {
  container: '#gallery',
  url: 'getImages',
  delay: 5000,
  
  load: function() {
    var _gallery = this;
    $.ajax({ 
      type:"GET", 
      url: this.url, 
      beforeSend: function() {
        $(_gallery.container)
          .find('img')
          .fadeOut('slow', function() {
            $(this).remove();
          });
      },
      success: function(data){ 
        var images = data.split('|');
        $.each(images, function() {  
          _gallery.display(this);
        });
      },
      complete: function() {
        setTimeout(function() {
          _gallery.load();
        }, _gallery.delay);
      }
    });
  },
  display: function(image_url) {
    $('<img></img>')
      .attr('src', 'images/' + image_url)
      .hide()
      .load(function() { 
        $(this).fadeIn();
      })
      .appendTo('#gallery');
  }
}

$(document).ready(function(){
  GALLERY.load();
});


Evo ga kod, 'getImage' je tekstualni fajl koji sadrzi imena slika odvojenih ravnom crtom.
Kao sto rekoh kod mene se funkcije pod sendBefore i success izvrsavaju istovremeno.