Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

$ajax beforeSend

[es] :: Javascript i AJAX :: $ajax beforeSend

[ Pregleda: 1287 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

raxy80
student
Nis,Srbija

Član broj: 228599
Poruke: 63
*.dynamic.isp.telekom.rs.



Profil

icon $ajax beforeSend02.03.2013. u 13:52 - pre 135 meseci
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.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-1.sezampro.rs.



+33 Profil

icon Re: $ajax beforeSend02.03.2013. u 21:06 - pre 135 meseci
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.
 
Odgovor na temu

raxy80
student
Nis,Srbija

Član broj: 228599
Poruke: 63
*.dynamic.isp.telekom.rs.



Profil

icon Re: $ajax beforeSend04.03.2013. u 11:40 - pre 135 meseci
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.
 
Odgovor na temu

[es] :: Javascript i AJAX :: $ajax beforeSend

[ Pregleda: 1287 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.