Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Problem oko "zemene slicica" dok traje neka akcija

  • 3 odgovora
  • 3.344 pregleda

Najnovija ↓

Problem oko "zemene slicica" dok traje neka akcija 19.09.2007. u 16:59 · pre 232 meseca #1
Dakle ovako...
Imam na stranici par slicica velicine, 16x16 px. Ukoliko se klikne na neku od istih, izvrsavaju se par upita kroz Ajax, upisuje se u bazu par slogova, posle toga se jos ispise neki tekst (mozda na vise mesta), tipa
"Updated! ". Ceo proces traje 2-3 sec. Mada u skorije vreme moze da traje i do 10 sekundi...
Problem je sledeci: Hteo bih da dok traje ova akcija da se slicica na koju sam kliknuo promeni u neku da se dobije "loading" efekat
(kao npr. kada Firefox ucitava stranicu, pa ono sto se vidi na tabu).

Funkcija koju zovem kada kliknem na slicicu je:


Code:

function writePermission(e) {
    start_animating(e);
        var xmlHttp = GetXmlHttpObject();
        if (xmlHttp==null) {
            alert ("Browser does not support HTTP Request");
            return;
        }
            .
            .
            .
            
        xmlHttp.open("POST", url, false);
        xmlHttp.send(null);
        if (xmlHttp.readyState == 4) {
            if (xmlHttp.status == 200) {
            .
            .
            .
            //do something
            }
        }
    
    stop_animating(e);
}


a start/stop_animating funkcije:
Code:


function start_animating(e) {
     previous_animating_img = e.src;
     e.src = "/style/default/images/loading.gif";
}


function stop_animating(e) {
     e.src = previous_animating_img;
}


Ali ovo ne radi...
E sada probao sam da
posle poziva funkcije start_animating u writePermission() ubacim
alert(e.src) i slicica se stvarno izmenila (zamenjena je sa loading.gif),
a kada isti alert stavim posle stop_animating alert mi kaze da se src slicice
vratio na prvobitni (sto se i vidi)...

U cemu je problem?




Re: Problem oko "zemene slicica" dok traje neka akcija 19.09.2007. u 20:28 · pre 232 meseca
izmenjeno 1 put, poslednji put Br@nkoR 20.09.2007. u 08:12
  1. Br@nkoR20.09.2007. u 08:12zapis iz teksta poruke
#2
Pokušaj da u funkciji writePermission, odmah posle poziva funkcije start_animating, ostatak kôda pozoveš unutar eventa onload slike na koju je korisnik kliknuo, ne zaboravi da unutar tog istog eventa odmah poništiš isti kako ne bi upao u beskonačnu petlju.



edit: promenjen naslov poruke.
Potpis
Banned - Not available
Re: Problem oko "zemene slicica" dok traje neka akcija 27.10.2007. u 17:34 · pre 231 mesec #3
A moze li ovako da se dobije efekat loading...

Code:

var Ajax=false;
    if(window.XMLHttpRequest){
        Ajax=new XMLHttpRequest();
    }
    else if (window.ActiveXObject){
        Ajax=new ActiveXObject("Microsoft.XMLHTTP");
    }


function dajPodatke(izvor,divID)
    {
        if(Ajax){
        var obj=document.getElementById(divID);
        Ajax.open("GET", izvor);
        
        Ajax.onreadystatechange=function()
            {
                if(Ajax.readyState==1 )
                {
                    obj.innerHTML=document.write('ucitava se...');
                }
            
                if(Ajax.readyState==4 && Ajax.status==200)
                {
                    obj.innerHTML=Ajax.responseText;
                }
            }
        Ajax.send(null);
        }
    }
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme