[js] 1 of meer intervals

Pagina: 1
Acties:

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Topicstarter
Ik houd er nogal van om dingen met dhtml te doen waar het eigenlijk niet voor bedoeld is, en nou ben ik ergens tegenaangelopen wat ik eigenlijk wel raar vind.

Ik ben ergens mee bezig wat ik (nog) niet kan posten, en daarin gebeurt heel veel, alleen is het toevallig zo dat alles zich, in plaats van in 1 interval, over meerdere intervals die tegelijkertijd lopen, afspeelt.

Tot nu toe probeerde ik zoveel mogelijk dingen vanuit 1 interval aan te sturen, en dat schokte nogal snel. Nu kunner er op 1 moment bijvoorbeeld 20 intervals lopen, en wat voorheen zeker zou schokken gaat nou vloeiend.

Nou vraag ik me dus af hoe een browser met js intervals omgaat, want blijkbaar gebeuren er dan toch dingen "tegelijk" of iig in een soort multi-dinges. Ik heb er geen woorden voor, en ik ben ook niet echt een progger, dus is er misschien iemand die hier wel meer over weet? :?

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Ik trap hem even omhoog voor je, maar als jij geen progger bent weet ik het ook niet meer :)
Denken als een programmeur is makkelijker dan het lijkt denk ik, hoe zou jij zoiets laten intepreteren door een browser?

En dan vraag ik me af of dit wel het goede forum is, aangezien hier alleen 'maar' webdesigners en javascripters zitten, en de programmeurs weer niet... en juist die personen weten er wel meer vanaf denk ik.

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Op vrijdag 26 oktober 2001 20:16 schreef Blue-eagle het volgende:
En dan vraag ik me af of dit wel het goede forum is, aangezien hier alleen 'maar' webdesigners en javascripters zitten, en de programmeurs weer niet... en juist die personen weten er wel meer vanaf denk ik.
Ze zitten er wel, maar houden zich verscholen achter de W&G-bosjes :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • OzBoz
  • Registratie: Maart 2000
  • Laatst online: 09-09 19:36

OzBoz

.:.H.:.I.:.P.:.

Clay, ik vraag me af of iemand hier een oplossing voor je heeft.. well.. misschien RF-rm :) maar als je wilt dat ik um move naar Programming o.i.d. dan hoor ik het wel.

My Fizion | My 3D prints | LinkedIn


Verwijderd

Ik ben toch ook erg benieuwd hoe dat zit, die intervals zijn namelijk erg handig.
Maar doordat ik inderdaad niets wist over hoe browsers dit behandelen durfde ik er nooit veel te gebruiken.

Zeker een zeer boeiende vraag! :)

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

zullen we mr. Gates uit zijn ivoren toren knikkeren voor een antwoord?

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Mr. Gates is er niet denk ik dus waarom deze niet even doorsturen naar Programming?
* Blue-eagle denkt echt dat je daar eerder antwoord hebt.

Verwijderd

Clay: Hoe gaat een browser met [...] multi-dinges om?
Als ik je goed begrijp wil je dat een aantal dingen tegelijk gebeuren (meerdere threads dus)?

Dat gaat waarschijnlijk met JavaScript versie 2 (ECMAScript versie 4) gebeuren:
The main goals of JavaScript 2.0 are:
...
Defining support for threads and robust sharing of facilities among threads and/or runtimes
...
Zie: Netscape's voorstel voor JavaScript 2 of Netscape's voorstel voor ECMAScript 4 (hetzelfde ding).

Dat lost je probleem voor nu natuurlijk niet op... Misschien dat dingen die in een apart document zitten wel te multi-dingessen zijn? :? Ik neem aan dat elk window (denk: frame) onafhankelijk werkt.

Een andere oplossing is om dit allemaal handmatig te doen, maar ideaal is dat niet echt. ;)

Verwijderd

Blue-eagle: Ik vraag me af of dit wel het goede forum is, aangezien hier alleen 'maar' webdesigners en javascripters zitten, en de programmeurs weer niet... en juist die personen weten er wel meer vanaf denk ik.
/me vindt de indeling van forums wat dat betreft wat vreemd, maar het is niet anders.

Er komen trouwens wel proggers hier. ;)

Trouwens Clay, geef even een gil als ik je vraag verkeerd begrepen heb. (Wat ik begrijp is dat je een aantal (getimede?) dingen tegelijk wilt laten gebeuren, klopt?)

  • Oefening
  • Registratie: November 2000
  • Niet online
Op Sunday 28 October 2001 02:12 schreef Arien het volgende:

[..]
Trouwens Clay, geef even een gil als ik je vraag verkeerd begrepen heb. (Wat ik begrijp is dat je een aantal (getimede?) dingen tegelijk wilt laten gebeuren, klopt?)
nee, hij heeft eerst alles "aangestuurd" vanuit 1 interval en dat schokte enorm, maar toen hij al die "dingen" over meerdere intervallen verdeelde schokte het opeens niet meer, en hij snapt niet hoe dat komt (omdat er in principe gewoon nog evenveel moet worden uitgevoerd)

tenminste, zo heb ik het begrepen :)

[ontopic]
misschien heeft een browser problemen met de afhandeling van meerdere "dingen" aangestuurd vanuit 1 interval omdat hij die verschillende "dingen" dan niet kan verdelen en dat wel kan als die "dingen" worden aangestuurd vanuit meerdere intervallen.

maargoed, das meer een vertaling van de vraag dan van de oorzaak :)

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Topicstarter
Ik heb dus idd geen problemen :) ik vraag me alleen af waarom het goed loopt met meerdere intervals die tegelijk draaien, dan wanneer alles in 1 interval zit, aangezien er zoals gezegd idd nog steeds evenveel moet gebeuren.
misschien heeft een browser problemen met de afhandeling van meerdere "dingen" aangestuurd vanuit 1 interval omdat hij die verschillende "dingen" dan niet kan verdelen en dat wel kan als die "dingen" worden aangestuurd vanuit meerdere intervallen.
Dat klinkt inderdaad behoorlijk aannemelijk.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Clay Ik heb dus idd geen problemen :)
Ah, okay... :? Mooi. 8-)
Ik vraag me alleen af waarom het goed loopt met meerdere intervals die tegelijk draaien, dan wanneer alles in 1 interval zit, aangezien er zoals gezegd idd nog steeds evenveel moet gebeuren.
Wat zijn meerdere intervals die tegelijk draaien? (Dit begreep ik ook niet in je oorspronkelijke vraag...)

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Topicstarter
dit:
code:
1
2
3
4
5
6
7
8
9
10
function hetEne() {
   // code
}

function hetAndere() {
   // code
}

setInterval("hetEne()", 50);
setInterval("hetAndere()", 50);

HetEne en HetAndere worden nu alletwee om de 50 millieseconden uitgevoerd. En om een of andere reden werkt dat beter dan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function hetEne() {
   // code
}

function hetAndere() {
   // code
}

function doeSamen() {
   hetEne();
   hetAndere();
}
setInterval("doeSamen()", 50);

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

McVirusS: Clay = dHTML god
hoe kom je dan bij t idee dat wij wel t antwoord hebben??
;)

Verwijderd

Clay: Dit [apart] werkt beter dan [samen]:
Ah... :o (/me begrijpt nu je vraag ook ineens...)

Als je je ze apart laat draaien zijn ze onafhankelijk van elkaar en loopt het dus wat vloeiender dan als je ze bij elkaar in een interval zet (dan moet namelijk de tweede wachten op de eerste functie).

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:06

RM-rf

1 2 3 4 5 7 6 8 9

zoals je zelf al aangaf, een functie renderd zelf niet, pas zodra hij retourneert word het scherm gerenderd;
an sich kun je vanuit een functie ook een timeout aanroepen met 1, soms kan dat betekenen dat je opbouw mooier wordt.

interval kent een uitstekende mogelijkheid om juist meerdere intervals te gebruiken, een interval retounreert altijd een eigen uniek ID waarmee hij weer te cancellen is.
het lijkt me dus een stuk beter om zoveel mogelijk gescheiden intervals te gebruiken.

een prima voorbeeld waarbij een interval gebruikt wordt is een laadscriptje om dynamische content in te laden, je laat dan je interval checken of iets al geladen is een pas na het laden voert hij andere acties uit, of kill-d hij zijn eigen interval.
in dat geval zou ik de interval ID opslaan direct in een attribuut van het laadobject de laadfunctie is dan iets als
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function loader(id, url) {
  obj = documentgetElementById(id)
  obj.src = url
  obj.intervalId = setInterval("checkLoader('"+id+"')", 50)
}
function checkLoader(id) {
  obj = documentgetElementById(id)
  if (obj.loaded){ // of obj.readyState
    blah_methods()
    clearInterval(obj.intervalId)
  }
}
loader('foo', 'blaat.html')

wat wel heel interessant is, is om eens te kijken hoe die interval precies functioneert, of het gewoon een vast grid is die om de x milliseconden wordt aangeroepen (wat ik vermoed) of een echt interval die steeds xx milliseconds tussen het aanroepen van de functie plaatst

dit soort zaken moeten uiteindelijk waarschijnlijk ook onder SMIL gaan vallen, maar heb daar nog weinig tijd aan besteed, waarschijnlijk biedt dat meer aanstuurmogelijkheden en methodes voor synchronisatie (waar nu interval vaak voor gebruikt wordt).

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Telco
  • Registratie: Juni 2001
  • Laatst online: 29-08-2024

Telco

Biertje?

Op maandag 29 oktober 2001 18:07 schreef RM-rf het volgende:

knip knip

dit soort zaken moeten uiteindelijk waarschijnlijk ook onder SMIL gaan vallen, maar heb daar nog weinig tijd aan besteed, waarschijnlijk biedt dat meer aanstuurmogelijkheden en methodes voor synchronisatie (waar nu interval vaak voor gebruikt wordt).
Ik geef het meteen toe; ik heb geen zak verstand van javascript en zow. Wel weet ik dat browsers ontworpen zijn om tekst en plaatjes te tonen, waardoor ze geen benul hebben van tijd. Hier is inderdaad SMIL voor ontworpen, en wat jij vraagt kun je in een scriptje van 10 regels SMIL waarschijnlijk al doen...

Ga eens naar de hoompeets van Oratrix en spons de demo's weg om een idee te krijgen hoe dit werkt. Succes durmee.

Vandaag geen signature

Pagina: 1