HighDots Forums  

Script per togliere opacità va a scatti

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss Script per togliere opacità va a scatti in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Sabrina
 
Posts: n/a

Default Script per togliere opacità va a scatti - 06-06-2008 , 08:09 AM






Ciao, ho una pagina html che contiene dei dati e ho inserito una
tabella con sfondo opaco e bianco che è posizionato con position
absolute, z-index:100 e ha larghezza e altezza 100% e quindi copre
tutto il contenuto. Questo mi serve per visualizzare un immagine di
loading mentre la pagina si carica e poi di farla sparire quando la
pagina ha finito di caricare. Quando la pagina è carica si
visualizzano i dati facendoli apparire gradualmente. Questo pannello
lo faccio sparire in modo graduale andando a lavorare sull'opacità.
Quindi da bianco diventa trasparente.

Questo è lo script:
function fadeOff(objId,opacity){
if(!document.getElementById) return;
obj = document.getElementById(objId);
if(opacity > 0){
document.getElementById("loading").style.filter=
"alpha(opacity="+opacity+")";
opacity -= 10; //indica quanta opacità viene tolta
window.setTimeout("fadeOff('"+objId+"',"+opacity+" )", 50);//ogni
quanto
}else{
document.getElementById("loading").style.display = "none";
}
}

Che è richiamato al load della mia pagina:
onload=if(document.getElementById('loading'))
{setTimeout(""fadeOff('loading',100)"",700)}

Ecco il problema:
quando la mia pagina contiene tanti tanti dati, tipo una tabella di
5000 righe, lo script va lento e scattoso.
Quindi, prendiamo lo script che ho fatto sopra, io tolgo ogni volta il
10% di opacità quindi girerà per 10 volte. Beh se i dati sono pochi è
bello da vedere ma se i dati sono tanti farà 10 scatti da 2 o tre
secondi ognuno un po' più trasparente. Il problema è che l'utente non
può cliccare e utilizzare la pagina fino a che sta cosa non è finita.
Quindi diventa fastidioso!
Come mai è così scattoso? Non capisco...

Ps. sto lavorando con asp e javascript in ie7.

Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: Script per togliere opacità va a scatti - 06-06-2008 , 09:51 AM






Il Fri, 6 Jun 2008 06:09:25 -0700 (PDT), Sabrina ha scritto:

Quote:
function fadeOff(objId,opacity){
if(!document.getElementById) return;
dovresti verificare anche che sia IE, visto che lo script funziona solo con
questo browser (es. if(!document.all) return

Quote:
Ecco il problema:
quando la mia pagina contiene tanti tanti dati, tipo una tabella di
5000 righe, lo script va lento e scattoso.
5000 righe??? con IE??? nella mia intranet IE va in crisi per molto meno
(anche se ovviamente occorre capire cosa contengono queste righe), basta
uno scroll per vedere belle schifezze a video, spesso ...

Quote:
Come mai è così scattoso? Non capisco...
perché deve ricostruire il layout per la bellezza di 5000 righe?

Quote:
Ps. sto lavorando con asp e javascript in ie7.
Scusa la contro-domanda: dato che stai lavorando (immagino) per una
intranet, perché mai devi mettere 'sta roba?

--
"Ho smesso di fumare.
Vivrò una settimana di più.
E in quella settimana pioverà a dirotto"
W.A.


Reply With Quote
  #3  
Old   
mastro delphine
 
Posts: n/a

Default Re: Script per togliere opacità va a scatti - 06-06-2008 , 09:56 AM



Sabrina ha scritto:

Quote:
Ecco il problema:
quando la mia pagina contiene tanti tanti dati, tipo una tabella di
5000 righe, lo script va lento e scattoso.
5000 righe ???
Hai presente il significato di "paginazione" ??

--
Piu' che ecoballe c'erano tante balle e basta.


Reply With Quote
  #4  
Old   
Sabrina
 
Posts: n/a

Default Re: Script per togliere opacità va a scatti - 06-10-2008 , 03:54 AM



On 6 Giu, 16:51, Cristiano Larghi <c.larghi_NOS... (AT) editaliasrl (DOT) it>
wrote:
Quote:
Scusa la contro-domanda: dato che stai lavorando (immagino) per una
intranet, perché mai devi mettere 'sta roba?
Quando la pagina si carica ci mette un po' di tempo e in questo modo
gli utenti vedono una bella immagine di loading su sfondo bianco che
poi scompare gradualmente visualizzando la pagina. E' un sito che
viene utilizzato sia internamente che esternamente ma anche se fosse
soltando intranet lo farei comunque perchè gli utenti hanno bisogno di
una grafica carina, lavorano meglio!

Quote:
perché deve ricostruire il layout per la bellezza di 5000 righe
Ma va scattoso DOPO che la tabella ha già finito di caricarsi! Io vedo
sotto, in trasparenza, che la tabella c'è già. Però ci mette una vita
a fare il ciclo per togliere opacità al pannello.

On 6 Giu, 16:56, mastro delphine <it.emerald... (AT) claudio (DOT) REVERSE>
wrote:
Quote:
5000 righe ???
Hai presente il significato di "paginazione" ??
Si ho presente il significato di paginazione ma gli utenti non la
vogliono.

Grazie


Reply With Quote
  #5  
Old   
ZER0
 
Posts: n/a

Default Re: Script per togliere opacità va a scatti - 06-11-2008 , 02:36 AM



On Tue, 10 Jun 2008 01:54:29 -0700 (PDT), Sabrina wrote:

Quote:
perché deve ricostruire il layout per la bellezza di 5000 righe

Ma va scattoso DOPO che la tabella ha già finito di caricarsi!
Appunto. Forse non ti è chiaro l'infrastruttura di una applicazione
web based: richiedere al server una table con 5000 righe è il meno,
soprattutto in una intranet. Devi contare che poi queste 5000 righe
le devi aggiungere al document tree, e già questa operazione su dei
PC potrebbe "congelare" il browser; in più devi considerare che una
volta caricate, il browser si ritrova a gestire una pagina MOLTO MA
MOLTO più pesante di prima (quando 5000 righe neppure c'erano). Non
solo è scattoso anche su cose "native", come lo scrolling oppure il
resize, ma soprattutto su tutti quegli effetti realizzati da script
e che vanno a toccare le proprietà di rendering (CSS).

Quote:
Io vedo
sotto, in trasparenza, che la tabella c'è già. Però ci mette una vita
a fare il ciclo per togliere opacità al pannello.
E' ovvio: prima il browser si deve limitare a renderizzare un certo
numero di elementi, poi ha davanti a sé lo stesso numero più 5000..
In più, le animazioni in JS si fanno usando i timeout/interval, che
non vanno su un thread differente, così come lo script engine te lo
trovi sulla stessa pipeline delle render engine.

Quote:
5000 righe ???
Hai presente il significato di "paginazione" ??

Si ho presente il significato di paginazione ma gli utenti non la
vogliono.
Sai, anche io vorrei un sistema informatico a performance infinite,
ma puoi dire ai tuoi utenti che ancora non esiste. Esistono invece,
cose chiamate "limiti tecnici", che non puoi superare a meno di non
cambiare tecnologia (ad esempio, ti rifai tutto in Flex/Flash).

Quote:
Grazie
Prego.

--
~ "Chi ci priva della libertà in nome della sicurezza,
non si merita nessuna delle due cose, nè la libertà,
nè la sicurezza." (Henry Adams)



Reply With Quote
  #6  
Old   
Sabrina
 
Posts: n/a

Default Re: Script per togliere opacità va a scatti - 06-13-2008 , 05:07 AM



On 11 Giu, 09:36, ZER0 <zer0.sh... (AT) libero (DOT) it> wrote:
Quote:
Sai, anche io vorrei un sistema informatico a performance infinite,
ma puoi dire ai tuoi utenti che ancora non esiste. Esistono invece,
cose chiamate "limiti tecnici", che non puoi superare a meno di non
cambiare tecnologia (ad esempio, ti rifai tutto in Flex/Flash).
Ok quindi o faccio la paginazione oppure controllo quanto è pesante la
pagina e se è troppo pesante tolgo questo effetto di fading.
Grazie a tutti per le risposte!
Sab


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.