JavaScript - Desenați html-mask înainte de execuția scriptului de încărcare înaltă

Eu folosesc ExtJS. Vreau să mă maschez fereastra înainte ca scriptul de înaltă performanță să fie executat. Când o folosesc

App.mask();
some.high.load.script();
App.unmask();

masca nu apare. După ce funcția mască pornește încărcarea și apoi nu poate modifica html până la sfârșit. Și în acest caz trebuie să folosesc amânarea (setTimeout analog). Există vreo soluție fără amânarea metodelor?

0

2 răspunsuri

Anularea funcției este doar o modalitate de a rezolva această problemă.

0
adăugat

Încerca:

App.mask();
document.body.offsetHeight;
some.high.load.script();
App.unmask();

Pentru mai multe informații: http://www.phpied.com/rendering-repaint-reflowrelayout- restyle/:

script-ul poate împiedica browserul să optimizeze reflow-urile și să provoace   pentru a șterge coada de așteptare și pentru a efectua toate modificările în serie. Asta se intampla   când solicitați informații despre stil, cum ar fi

     

offsetTop, offsetLeft, offsetWidth, offsetHeight   scrollTop/Stânga/Lățime/Înălțime clientTop/Stânga/Lățime/Înălțime   getComputedStyle (), sau currentStyle în IE Toate acestea sunt de mai sus   în mod esențial, solicitând informații de stil despre un nod și oricând   faceți acest lucru, browserul trebuie să vă ofere cea mai recentă valoare. În   pentru a face acest lucru, trebuie să se aplice toate modificările programate, spălați   coada, mușcă glonțul și face reflow.

0
adăugat
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com