Stopp Posted December 6, 2006 Report Share Posted December 6, 2006 Kā varētu izdarīt tā, lai, kad es nospiežu pogu, tad nomainas viena bilde, bet, kamēr tā bilde vēl nav ielādējusies, tikmēr tās bildes vietā rādas kaut kāda loading bilde. Nesaprotu, kā lai es noskaidroju, kad bilde ir ielādējusies. Ar ajaxu es laikam varēšu izdabūt tikai tekstu laukā no kāda faila, bet kā ar bildēm? Link to comment Share on other sites More sharing options...
andrisp Posted December 6, 2006 Report Share Posted December 6, 2006 Viens varētu būt izmantojot onload. Sīkumos neizplūdīšu, jo pats neesmu mēģinājis, bet doma tāda: - Ar JS ievietojam DOM kokā to loading attēlu. Atceramies referenci uz to. - Ievietojam DOM saturā tavu attēlu. Piekabinam klāt tam onload eventu, kas, kad bilde būs pabeigusi lādēties, paslēps (vai izņems no DOM) loading attēlu. Vajadzētu tikai izdomāt kā darīt, lai nerādītos pusielādēts fails. Var vēl mēģināt arī ar JS priekšielādēt (preload) attēlu. Pagūglē uz javascript image preloading vai kaut ko tādu. Bet gan jau kāds, kas tiešām ar to būs darījies, zinas precīzāku atbildi ;). Link to comment Share on other sites More sharing options...
rpr Posted December 6, 2006 Report Share Posted December 6, 2006 prieksh tam ir events onreadystatechange Link to comment Share on other sites More sharing options...
andrisp Posted December 6, 2006 Report Share Posted December 6, 2006 rpr, onreadystatechange status 4 (pabeigts) ieslēgsies, kad būs savākts markaps, nevis kad būs ielādējusies bilde. Palabojiet, ja maldos. Link to comment Share on other sites More sharing options...
bubu Posted December 6, 2006 Report Share Posted December 6, 2006 Vajag darīt tā kā andrisp stāšta. Vajadzētu tikai izdomāt kā darīt, lai nerādītos pusielādēts fails. Vienkārši - display: none; Link to comment Share on other sites More sharing options...
andrisp Posted December 6, 2006 Report Share Posted December 6, 2006 (edited) Bet vai nav tā, ka browseris nelādē failus, kam ir display: none ? Domāju, ka tu visu vajag apvienot ar image preloading. 1) Ievietojam loading attēlu, 2) Pieprasam ielādējamās bildes nosaukumu, 3) Ar JS preloadējam šo attēlu, 4) Izņemam loading, ievietojam attēlu. Ja JS tiešām ir stricti lineārs, tad vajadzētu strādāt. Edited December 6, 2006 by andrisp Link to comment Share on other sites More sharing options...
GedroX Posted December 6, 2006 Report Share Posted December 6, 2006 Ajax te toč nav nepieciešams. andrisp praktiski visu arī izstāstīja. Vienīgi: Vajadzētu tikai izdomāt kā darīt, lai nerādītos pusielādēts fails. Attēlam jāuzliek style="visibility: none;" un pie ielādēšanās visibility: visible.. Loader attēlu var vienkārši iegrūzt backgroundā, lai nevajadzētu lieki slēpt/ rādīt. Bet vai nav tā, ka browseris nelādē failus, kam ir display: none ? Man liekās, ka jā. Tādēļ visibility: hidden;. Vai arī sliktākajā gadījumā - position: absolute; top: -1000px; =) Link to comment Share on other sites More sharing options...
rpr Posted December 6, 2006 Report Share Posted December 6, 2006 panjem atrodi kaadu webu kur mainaas menu bildes un iecheko kaa taas bildes tiek prelodotas. adobes driimviivers taadus tipiskus preloderus taisiija. Link to comment Share on other sites More sharing options...
andrisp Posted December 6, 2006 Report Share Posted December 6, 2006 Var jau vēl vienkāršāk: http://www.google.lv/search?hl=lv&q=ja...mage+preloading ;) Link to comment Share on other sites More sharing options...
Stopp Posted December 8, 2006 Author Report Share Posted December 8, 2006 Nuu, preloads, paldies nē. Ja tas man būtu pieņemams, būtu taisījis tā. Nav preloadings grūts. Paldies par labajām idejām, šis tas ienāca prātā, uz tām paskatoties :) Bet vai nav tā, ka browseris nelādē failus, kam ir display: none ? Vismaz ielādē tad, ja viņš ir div/span-ā, kam ir display: none. Ar to pietiek. Link to comment Share on other sites More sharing options...
andrisp Posted December 8, 2006 Report Share Posted December 8, 2006 Kas vainas bildes preloadēšanai ? Es jau nedomāju visas bildes, bet tikai to vienu, kas jāparāda. Link to comment Share on other sites More sharing options...
Stopp Posted December 8, 2006 Author Report Share Posted December 8, 2006 Aber tur var kopā lapas lietotājs daudzs bildes mainīt, tikpat labi var nevienu, kā nu viņš spiež pogas ;) Serveris lēns, tāpēc maksimāli maz datus vajadzētu pie lapas ielādes lādēt. Link to comment Share on other sites More sharing options...
andrisp Posted December 8, 2006 Report Share Posted December 8, 2006 Tāpat nesapratu, kas tur slikts, ja tu ielādē bildi ar JS, un tikai tad ievieto viņu iekš DOM. Un jau teicu, ka to domāju tā, ka tikai pa viena bildei preloadēt - un preloadēt tikai tāpēc, lai nebūtu jāskatās uz bildes ielādes procesu. Bet vispār bez tā arī var iztikt, jo GedroX jau teica, ka elements ar visibilty: hidden arī tiek ielādēts. Link to comment Share on other sites More sharing options...
Stopp Posted December 8, 2006 Author Report Share Posted December 8, 2006 Ja nemaldos, tad tas aizpilda lapu ar tukšu vietu tur, kur viņam būtu jābūt redzamam, tāpēc visibility ar nelietošu. Nu, hmm, pamēģināšu tagad uztaisīt to savu ideju, ja nesanāks, tad kaut kam citam pieskaršos. Link to comment Share on other sites More sharing options...
andrisp Posted December 8, 2006 Report Share Posted December 8, 2006 Ja tik ļoti tev nepatīk preloadings, tad vēl vari mēģināt to attēlu lādēšanas laikā pozicionēt absolūti ar left: -1000; vai kaut ko tādu. Un tad uz onload evenu, nolikt normāli (noņemt position: absolute; un left: -1000; ). Link to comment Share on other sites More sharing options...
Recommended Posts