[JS] Cursor van 'wait' naar default

Pagina: 1
Acties:

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
Ik heb een webpagina waarbij het van belang is dat een gebruiker maar 1 keer op een link klikt. Het is namelijk een intranet-webapplicatie wat forms submit als men op een link klikt en dit moet natuurlijk maar 1 keer gebeuren. De server heeft alleen nogal een vertraging, soms wel 2/3 seconde en gebruikers klikken dan vrolijk nog een paar keer omdat ze denken dat ze niet goed geklikt hebben. Enfin, ik los dit zo op:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// als de gebruiker op de link klikt wordt deze functie aangeroepen, 
// deze werkt alleen onder IE en loopt alle objecten in het document af en zet
// daarvoor de cursor op 'wait'
function setBusy (winHandle) {
    // disabled wait cursor which affects client performance
    if (winHandle.document.all) {
        for (var i = 0; i < winHandle.document.all.length; i++)
            winHandle.document.all[i].style.cursor = 'wait'; 
    }
    winHandle.defaultStatus = 'Please wait, the page is being loaded....';
    winHandle.status = 'Please wait, the page is being loaded....';
}

// nu wil ik, dat als er een nieuwe pagina komt (die verschijnt in een frame) dat
// de cursor weer default wordt, dit probeerde ik zo:
function setNotBusy(winHandle){
    // disabled wait cursor which affects client performance
    if (winHandle.document.all) {
        for (var i = 0; i < winHandle.document.all.length; i++)
            winHandle.document.all[i].style.cursor = 'normal'; 
    }
    winHandle.defaultStatus = 'Done';
    winHandle.status = 'Done';
}

// en die dan aanroepen in de onLoad van de <body>

Dit werkt alleen niet, want de functie setNotBusy zet wel heel leuk de cursor weer normaal, maar als de gebruiker dan boven een link gaat hangen met de cursor dan BLIJFT deze normaal en dan moet het natuurlijk een handje worden...

mijn vraag is dus: wie weet hoe ik de style van de cursor op default oid kan zetten? kan resetten dus?

Rookworst zonder R is ook worst.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

style.cursor = 'default';

maar ik vind dit nogal omslachtig eerlijk gezegt; ik zou eerder kiezen voor het tijdelijk verbergen van je content en daarvoor in de plaats een layer laten zien met 'loading' oid; lijkt me een stuk efficienter.

Oh ja, document.all is nogal eehhhmmm ancient history?

Intentionally left blank


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
crisp schreef op 17 februari 2004 @ 11:00:
style.cursor = 'default';

maar ik vind dit nogal omslachtig eerlijk gezegt; ik zou eerder kiezen voor het tijdelijk verbergen van je content en daarvoor in de plaats een layer laten zien met 'loading' oid; lijkt me een stuk efficienter.

Oh ja, document.all is nogal eehhhmmm ancient history?
In het functioneel ontwerp staat aangegeven dat het met een zandloper-cursor moet, dus ik wil het graag ook op deze manier oplossen :)

Maar ook style.cursor op 'default' zetten lijkt niet te werken, ook dan wordt de cursor wel weer een pijltje maar dat blijft het ook. Het wordt dan dus ook geen handje meer als men over een link gaat... :|

Rookworst zonder R is ook worst.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

en als je de cursorstyle nullified?

Intentionally left blank


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
crisp schreef op 17 februari 2004 @ 12:09:
en als je de cursorstyle nullified?
Ook niet helaas :(
ik ben al driftig opzoek naar een alternatieve manier maar ik kan werkelijk niks vinden :/

Rookworst zonder R is ook worst.


Verwijderd

Eerst de huidige cursor style toe wijzen aan een andere (globale?) variabele en deze later gebruiken om dat terug te zetten?

Verwijderd

Misschien kun je zoiets proberen:
Eerst een transparante layer over je hele pagina plakken. Daar de wait cursor bij instellen, en als je klaar bent de transparante layer weer verbergen! :)

Het idee van Purrr klinkt trouwens ook niet slecht :)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

inderdaad: layertje gebruiken:

JavaScript:
1
2
3
4
5
6
7
8
9
function dowait()
{
    document.getElementById('wait').style.visibility = 'visible';
}

function stopwait()
{
    document.getElementById('wait').style.visibility = 'hidden';
}

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
#wait {
    position: absolute;
    visibility: hidden;
    width: 100%;
    height: 100%;
    cursor: wait;
    z-index: 100;
    background-image: url("pixel.gif");
}

HTML:
1
<div id="wait"></div>

Intentionally left blank


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 05-03 19:51
works like a charm! danku allen _/-\o_

Rookworst zonder R is ook worst.

Pagina: 1