Tjena, Pröva ..och vad exakt innebär ditt ...joobbar... ? Det är bara dryga beräkningar som körs... exempelvis lite matematiska formler som kräver en del rekursioner... sedan sätts ett antal lagers positioner när detta är klart (sliter ca 15s) Inget problem med att något id eller liknande saknas! En teori är att du inte ger den någon tid att verkställa det på; testa att använda setTimeout-funktionen i javascript. Använd den så att du i den vanliga funktionen bara sätter muspekaren och sedan anropar setTimeout. setTimeout anropar sedan efter några ms resten av funktionen Med följande kod visas aldrig timglaset. Det beror på att do_the_work() startas, setTimeout() körs och sedan avslutas do_the_work() direkt, varvid muspekaren återställs. Onkelborg... Hm... Jag skrev:Wait cursor medan scriptet körs visas ej
jag tänkte bjuda surfaren på ett litet timglas medan jag låter honom vänta på sin trötta maskin att bli klar, men det gick inte lika lätt som jag föreställde mig. Nedanstående ligger i en funktion.
<code>
document.getElementById("thisbody").style.cursor = "wait";
.... jooobbar...
document.getElementById("thisbody").style.cursor = "default";
</code>
Vad skall jag göra för att få detta att funka i ex IE5-
mvh
JockeSv: Wait cursor medan scriptet körs visas ej
<code>
document.body.style.cursor = 'wait';
</code>
Jag antar att det är body-elementet som du satt id="thisbody" på och att din första kod ligger före body-slutmärket. Där är body-elementet inte färdigskapat när du kör koden, vilket kan vara en orsak till att elementet inte hittas.Sv: Wait cursor medan scriptet körs visas ej
har du nån dryg dhtml kod där eller?
ifall du försöker visa medan sidan laddas så är det något tveksamt om huruvida det funka om inte Per Perssons lösning funkarSv: Wait cursor medan scriptet körs visas ej
Sv: Wait cursor medan scriptet körs visas ej
Sidan är redan laddad då användaren själv startar funktionen.
Det jag menar med jobbar är att funktionen kör (utan problem) det är bara det att timglaset ej ändras.Sv: Wait cursor medan scriptet körs visas ej
Sv: Wait cursor medan scriptet körs visas ej
<code>
<script type="text/javascript">
function do_big_calculation()
{
document.body.style.cursor = "wait";
do_the_work();
document.body.style.cursor = "default";
}
var c = 0;
function do_the_work()
{
if(c < 10) {
c++;
document.getElementById('counter').innerHTML = c;
setTimeout('do_the_work()', 1000);
}
else {
document.getElementById('counter').innerHTML = 'done';
}
}
</script>
<body onload="do_big_calculation()">
<p id="counter"></p>
</body>
</code>
Låter jag i stället do_the_work() återställa muspekaren när "beräkningen" är färdig, syns timglaset.
<code>
<script type="text/javascript">
function do_big_calculation()
{
document.body.style.cursor = "wait";
do_the_work();
}
var c = 0;
function do_the_work()
{
if(c < 10) {
c++;
document.getElementById('counter').innerHTML = c;
setTimeout('do_the_work()', 1000);
}
else {
document.getElementById('counter').innerHTML = 'done';
document.body.style.cursor = "default";
}
}
</script>
<body onload="do_big_calculation()">
<p id="counter"></p>
</body>
</code>Sv: Wait cursor medan scriptet körs visas ej
Jag skrev om det med att lägga om en wrapper men det verkar inte 'ske vår vilja'...
Givetvis är anropet ändrat att peka på denna nya funktion :)
<code>
function toggleLayerWrapper(lyr,yMin,yMax) {
document.body.style.cursor = "wait";
setTimeout(toggleLayer(lyr,yMin,yMax),200);
document.body.style.cursor = "default";
}
</code>Sv: Wait cursor medan scriptet körs visas ej
>setTimeout anropar sedan efter några ms resten av funktionen
Resten måste ju vara just resten, även att återställa muspekaren?