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

Problem oko "zemene slicica" dok traje neka akcija

[es] :: Javascript i AJAX :: Problem oko "zemene slicica" dok traje neka akcija

[ Pregleda: 2573 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_korso_

Član broj: 82797
Poruke: 163
212.200.90.*



+1 Profil

icon Problem oko "zemene slicica" dok traje neka akcija19.09.2007. u 15:59 - pre 202 meseci
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?




 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Problem oko "zemene slicica" dok traje neka akcija19.09.2007. u 19:28 - pre 202 meseci
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.

[Ovu poruku je menjao Br@nkoR dana 20.09.2007. u 08:12 GMT+1]
Banned - Not available
 
Odgovor na temu

korisnicko_ime

Član broj: 38909
Poruke: 113
77.46.216.*



+3 Profil

icon Re: Problem oko "zemene slicica" dok traje neka akcija27.10.2007. u 16:34 - pre 200 meseci
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);
        }
    }
 
Odgovor na temu

Vlatko Zdrale
Vlatko Zdrale
Chicago, USA

Član broj: 155036
Poruke: 102
*.hsd1.il.comcast.net.

Sajt: www.zemoon.com


+1 Profil

icon Re: Problem oko "zemene slicica" dok traje neka akcija30.10.2007. u 03:00 - pre 200 meseci
A jel ti nije lakse da samo menjas vidljivost slike?
znaci u start_animating(e) document.getElementById(divID).display='block';
a posle "// do_something" document.getElementById(divID).display='none' ;
 
Odgovor na temu

[es] :: Javascript i AJAX :: Problem oko "zemene slicica" dok traje neka akcija

[ Pregleda: 2573 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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