Jump to content
php.lv forumi

JS timer


NBS

Recommended Posts

Sveiki.

Vēlos izveidot alert, kas izmetas un kamēr izpildās scripts šo alert nevar aizvērt, uzrādot laiku cik ir palicis līdz scripta izpildes beigām.

Ir kādam idejas kā šo lietu var realizēt ar JS ?

Paldies, savlaicīgi.

Link to comment
Share on other sites

Ar parasto alertu to nebūs iespējams panākt, jo, kad tas tiek izsaukts, skripta izpilde tiek pārtraukta līdz kamēr nospiedīsi "Ok" pogu.

 

Variants būtu izmantot lightbox (vai thickbox utt) tehniku, kas parāda neaizveramu CSS popupu (noteikti esi redzējis bildītes uz puscaurspīdīgo fonu, kas noklāj visu lapu) ar tekstu, ka skripts šobrīd izpildas. Kad skripts savu izpildi būtu beidzis, tad "popapu" novāc.

Link to comment
Share on other sites

Ar parasto alertu to nebūs iespējams panākt, jo, kad tas tiek izsaukts, skripta izpilde tiek pārtraukta līdz kamēr nospiedīsi "Ok" pogu.

 

Variants būtu izmantot lightbox (vai thickbox utt) tehniku, kas parāda neaizveramu CSS popupu (noteikti esi redzējis bildītes uz puscaurspīdīgo fonu, kas noklāj visu lapu) ar tekstu, ka skripts šobrīd izpildas. Kad skripts savu izpildi būtu beidzis, tad "popapu" novāc.

 

Jauki, kur varētu kādu sample iegūt ?

Jo nezinu, ko īsti man jāmeklē.

Paldies par atsaucību.

Link to comment
Share on other sites

bubu, nu tie xxxbokši piedāvā modālā loga funkcionalitāti (nu vismaz daļēji), tāpēc tas būtu tuvāk alert'am nekā vienkāršs window.open() popaps.

 

NBS, google thickbox/lightbox

 

Uh, okey :)

Paldies.

Link to comment
Share on other sites

Starp citu, runājot par JS... Dažreiz rodas nepieciešamība:

1) Sadalīt CPU intensīvus darbus vairākos etapos, lai pārlūks neuztvertu, ka skripts ir "non responsive"

2) Izpildīt vairākas funkcijas vienlaicīgi - kā zināms, tad JavaScriptā nav tāda lieta kā threadi (diegi).

Rekur labs raksts par to, kā uztaisīt pseidoschedulingu JavaScriptā.

Multi-threading in JavaScript

Link to comment
Share on other sites

darīt tā, kā tajā rakstā, var tad, ja visu var sadalīt pa eventiem. bet ja nevar.. ja nu tiešam vajag miljons dom manipulācijas, tad var izlīdzēties šitā

function f(s) {
 s[0]();
 if(s.length>1)
window.setTimeout(
  function(s) {
	return function(){
	  f(s.slice(1));
	}
  }(s), 0);
}
// console.log vietā kaut kas tāds, kam kaut kas loti daudz jādara:)
f([
 function() {
console.log("a");
 },
 function() {
console.log("b");
 },
 function() {
console.log("c");
 }
]);

Edited by v3rb0
Link to comment
Share on other sites

×
×
  • Create New...