abonnement Unibet Coolblue
pi_130992985
Ik wil een reeks gegevens onder elkaar zetten ingedeeld in categorieën zoals hieronder weergegeven:


Eisen zijn:
- Makkelijk te onderhouden
- Elke categorie heeft een eigen hoogte en reageert automatisch op de hoeveelheid gegevens onder elkaar staan.

Ikzelf zit te denken aan tabellen omdat die gemaakt zijn om gegevens makkelijk weer te geven.
Tabellen passen zich echter niet automatisch aan in hoogte en het is toch een vies woord wat ik her en der lees.
Divs kan ook maar zijn die volgens jullie geschikt om een lijst gegevens zo onder elkaar te zetten?
In totaal bestaat het formulier uit zo'n 10 categorieën.
  maandag 9 september 2013 @ 19:24:45 #252
91039 mstx
2x1/2 = 1/2 x 1/2
pi_130995770
quote:
5s.gif Op maandag 9 september 2013 18:19 schreef karton2 het volgende:
Tabellen passen zich echter niet automatisch aan in hoogte en het is toch een vies woord wat ik her en der lees.
Uhm nee, dat is alleen een vies woord als je het voor andere zaken dan tabulaire data gebruikt. In dit geval moet je gewoon een tabel gebruiken, divjes gebruiken om een tabel te simuleren is net zo smerig als tabellen voor de layout gebruiken.

En een tabel past zich wel aan in de hoogte, die wordt gewoon hoger als je er meer data in zet.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_131001152
Heeft iemand een idee hoe ik een functie voor een korte tijd kan disablen na het aanroepen van deze functie? Ik heb nu het volgende, maar ik moet nu bij elke call 350ms wachten. Ik wil het dus eigenlijk omdraaien: eerst uitvoeren, dan een timeout.

1
2
3
4
5
6
 function doeDit() {
    if (timer) clearTimeout(timer);
    timer = setTimeout(function() { 
      doeDat();
    }, 350);
  }

EDIT: Volgens mij heb ik weer eens m'n eigen vraag beantwoord. :+

1
2
3
4
5
6
7
8
9
  function doeDit() {
    if(typeof bezig === 'undefined') {
      doeDat(); 
      bezig = true;
    }
    setTimeout(function() { 
      delete bezig ;
    }, 350);
  }

Iemand nog aanmerkingen of een betere oplossing?

[ Bericht 6% gewijzigd door pascal08 op 09-09-2013 21:16:34 ]
  maandag 9 september 2013 @ 21:20:01 #254
118585 Crutch
Filantroop || Taalzwengel
pi_131001873
setInterval?

en dan een check in je functie of ie bezig is of niet.
Je moeder is een hamster
pi_131002921
quote:
0s.gif Op maandag 9 september 2013 21:20 schreef Crutch het volgende:
setInterval?

en dan een check in je functie of ie bezig is of niet.
Het voordeel is dan toch dat je functie nog wordt aangeroepen nadat de timeout voorbij is?
  maandag 9 september 2013 @ 21:58:53 #256
118585 Crutch
Filantroop || Taalzwengel
pi_131004153
quote:
0s.gif Op maandag 9 september 2013 21:38 schreef pascal08 het volgende:

[..]

Het voordeel is dan toch dat je functie nog wordt aangeroepen nadat de timeout voorbij is?
Het voordeel is dat je functie iedere <vul maar in> milliseconden wordt uitgevoerd, totdat jij zegt: "Ja ho, stop maar!"

Dan hoef je in die functie alleen maar te checken of het nodig is om uit te voeren met bijvoorbeeld:

1
2
3
if(bezig)
   break;
// vanaf hier alles wat ie moet doen als ie niet bezig is
Je moeder is een hamster
pi_131008819
quote:
0s.gif Op maandag 9 september 2013 21:58 schreef Crutch het volgende:

[..]

Het voordeel is dat je functie iedere <vul maar in> milliseconden wordt uitgevoerd, totdat jij zegt: "Ja ho, stop maar!"

Dan hoef je in die functie alleen maar te checken of het nodig is om uit te voeren met bijvoorbeeld:
[ code verwijderd ]

Als die functie continu blijft lopen, dan gaat er elke keer een request naar de server, want dat is wat er gebeurt in de functie. Lijkt me niet de bedoeling. :P
  maandag 9 september 2013 @ 23:30:56 #258
118585 Crutch
Filantroop || Taalzwengel
pi_131009191
quote:
0s.gif Op maandag 9 september 2013 23:23 schreef pascal08 het volgende:

[..]

Als die functie continu blijft lopen, dan gaat er elke keer een request naar de server, want dat is wat er gebeurt in de functie. Lijkt me niet de bedoeling. :P
Waar is 'bezig' dan voor?
Je moeder is een hamster
pi_131046868
quote:
0s.gif Op maandag 9 september 2013 23:30 schreef Crutch het volgende:

[..]

Waar is 'bezig' dan voor?
Als de functie is aangeroepen wordt die variabele op true gezet. Zodra er weer een call komt, wordt dat stukje code met de if-statement niet uitgevoerd. Na 350ms wordt 'bezig' weer "undefined", zodat de functie opnieuw aangeroepen kan worden.

Ik vind het zelf wel een goede oplossing. M'n functie is voor 350ms na het aanroepen disabled en er wordt niks gequeued en er worden geen realtime checks uitgevoerd, wat ik ook niet nodig vind.
pi_131047252
quote:
0s.gif Op dinsdag 10 september 2013 23:28 schreef pascal08 het volgende:

[..]

Als de functie is aangeroepen wordt die variabele op true gezet. Zodra er weer een call komt, wordt dat stukje code met de if-statement niet uitgevoerd. Na 350ms wordt 'bezig' weer "undefined", zodat de functie opnieuw aangeroepen kan worden.
Nog los van de rest van de oplossing vind ik het undefined maken van een variabele niet de netste manier. Het is gewoon een ja-nee vraag, dus zou je een boolean moeten gebruiken. True voor ja, false voor nee.
pi_131047325
quote:
0s.gif Op dinsdag 10 september 2013 23:40 schreef Light het volgende:

[..]

Nog los van de rest van de oplossing vind ik het undefined maken van een variabele niet de netste manier. Het is gewoon een ja-nee vraag, dus zou je een boolean moeten gebruiken. True voor ja, false voor nee.
De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina. Ik zou dus ergens 'bezig' moeten initialiseren met false, dat zou netter zijn, dat ben ik met je eens. Verder is er toch geen verschil?
  dinsdag 10 september 2013 @ 23:50:11 #262
84244 Scorpie
Abject en infaam!
pi_131047527
quote:
0s.gif Op dinsdag 10 september 2013 23:42 schreef pascal08 het volgende:

[..]

De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina. Ik zou dus ergens 'bezig' moeten initialiseren met false, dat zou netter zijn, dat ben ik met je eens. Verder is er toch geen verschil?
Het klinkt alsof je iets heel erg aan het in elkaar hacken bent.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_131047598
quote:
0s.gif Op dinsdag 10 september 2013 23:42 schreef pascal08 het volgende:

[..]

De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina. Ik zou dus ergens 'bezig' moeten initialiseren met false, dat zou netter zijn, dat ben ik met je eens. Verder is er toch geen verschil?
Qua snelheid zal het weinig tot niets schelen idd. Blijft alleen staan dat het netter is, en later ook weer sneller duidelijk. (Je moet het ook snel snappen als je over zes maanden een kleine aanpassing wilt doen.)
  dinsdag 10 september 2013 @ 23:53:27 #264
12221 Tijn
Powered by MS Paint
pi_131047617
quote:
0s.gif Op dinsdag 10 september 2013 23:42 schreef pascal08 het volgende:

[..]

De reden dat ik dat gedaan heb is omdat 'bezig' niet per sé gedefineerd is, bijvoorbeeld bij het laden van de pagina.
Dan begin je toch pas wanneer de pagina wel geladen is?
pi_131047779
quote:
7s.gif Op dinsdag 10 september 2013 23:50 schreef Scorpie het volgende:

[..]

Het klinkt alsof je iets heel erg aan het in elkaar hacken bent.
})

quote:
0s.gif Op dinsdag 10 september 2013 23:52 schreef Light het volgende:

[..]

Qua snelheid zal het weinig tot niets schelen idd. Blijft alleen staan dat het netter is, en later ook weer sneller duidelijk. (Je moet het ook snel snappen als je over zes maanden een kleine aanpassing wilt doen.)
6 maanden? Ik weet een uur later al niet meer waarvoor bepaalde regels waren. _O-

quote:
5s.gif Op dinsdag 10 september 2013 23:53 schreef Tijn het volgende:

[..]

Dan begin je toch pas wanneer de pagina wel geladen is?
Ik bedoel dat die variabele 'bezig' nog niet gedefinieerd is als de functie nog niet is aangeroepen. Na het laden van de pagina bijvoorbeeld. Ik zie alleen de noodzaak niet om 'bezig' eerst op false te zetten. Extra regel en geen performance winst. Leesbaarheid vind ik wel prima zo.
  woensdag 11 september 2013 @ 00:04:21 #266
12221 Tijn
Powered by MS Paint
pi_131047860
quote:
0s.gif Op woensdag 11 september 2013 00:00 schreef pascal08 het volgende:

[..]

Ik zie alleen de noodzaak niet om 'bezig' eerst op false te zetten. Extra regel en geen performance winst. Leesbaarheid vind ik wel prima zo.
Hoezo een extra regel? Of je nou var bezig; hebt of var bezig = false; maakt toch niet uit?

De reden dat je 'm wel op false wilt initialiseren lijkt me duidelijk: hij is niet bezig. Als je de inhoud van de variabelen van je eigen programma niet kunt vertrouwen, waar kun je dan nog wel van op aan? :P
pi_131047883
quote:
5s.gif Op woensdag 11 september 2013 00:04 schreef Tijn het volgende:

[..]

Hoezo een extra regel? Of je nou "var bezig;" hebt of "var bezig = false;" maakt toch niet uit?

De reden dat je 'm wel op false wilt initialiseren lijkt me duidelijk: hij is niet bezig. Als je de inhoud van de variabelen van je eigen programma niet kunt vertrouwen, waar kun je dan nog wel van op aan? :P
1
2
3
4
5
6
7
8
9
 function doeDit() {
    if(typeof bezig === 'undefined') {
      doeDat(); 
      bezig = true;
    }
    setTimeout(function() { 
      delete bezig ;
    }, 350);
  }

1
2
3
4
5
6
7
8
9
10
 var bezig = false;
function doeDit() {
    if(typeof bezig === 'undefined') {
      doeDat(); 
      bezig = true;
    }
    setTimeout(function() { 
      delete bezig ;
    }, 350);
  }

Dit scheelt toch 1 regel?

Ik moet wel toegeven dat ik een beetje gedwongen ben tot deze oplossing. Ik heb namelijk een heleboel events die worden gevuurd bij het laden van de pagina. Ik ben eigenlijk een beetje kwijt de volgorde kwijt, waardoor ik dus die variabele alleen met zekerheid op false krijg, voordat de functie wordt aangeroepen, als ik 'm helemaal bovenaan in m'n script plaats. En als ik dat doe, dan maak ik het probleem alleen maar erger. :P

Ik weet dat dit absoluut niet de goede manier van netjes programmeren is. Bovenal is het heel inefficient, want ik moet m'n code regelmatig ordenen, omdat het structuur totaal verdwene is. :P Maar goed, ik ben lerende. :)

[ Bericht 16% gewijzigd door pascal08 op 11-09-2013 00:10:41 ]
  woensdag 11 september 2013 @ 00:08:45 #268
12221 Tijn
Powered by MS Paint
pi_131047939
Het is echt nasty om je variabelen helemaal niet te declareren. Bovendien maak je op deze manier alles global, dat is ook niet echt aan te raden.
pi_131048003
quote:
9s.gif Op woensdag 11 september 2013 00:08 schreef Tijn het volgende:
Het is echt nasty om je variabelen helemaal niet te declareren. Bovendien maak je op deze manier alles global, dat is ook niet echt aan te raden.
Over variabele scopes heb ik laatst wel een stuk uit m'n boek gelezen. :P Blijkbaar is dat niet blijven hangen.

* pascal08 slaat boek open. :D
  woensdag 11 september 2013 @ 00:13:10 #270
12221 Tijn
Powered by MS Paint
pi_131048025
Wat is nou eigenlijk de bedoeling van dit hele gebeuren?
pi_131048083
quote:
5s.gif Op woensdag 11 september 2013 00:13 schreef Tijn het volgende:
Wat is nou eigenlijk de bedoeling van dit hele gebeuren?
Een functie disablen voor een x aantal milliseconden ná het aanroepen van deze functie.

Bijvoorbeeld:

1
2
3
4
5
6
7
function foo() {
  bar();
}

function bar() {
  //Deze functie mag nu de komende x aantal milliseconden niet meer worden uitgevoerd.
}
  woensdag 11 september 2013 @ 00:23:13 #272
12221 Tijn
Powered by MS Paint
pi_131048241
Maar waarom dan? En sowieso, waarom wil je die hele functie uitschakelen? Je kunt toch gewoon binnen bar() een if-statement maken waarin iets al dan niet wordt uitgevoerd?
  woensdag 11 september 2013 @ 00:35:46 #273
84244 Scorpie
Abject en infaam!
pi_131048464
quote:
5s.gif Op woensdag 11 september 2013 00:23 schreef Tijn het volgende:
Maar waarom dan? En sowieso, waarom wil je die hele functie uitschakelen? Je kunt toch gewoon binnen bar() een if-statement maken waarin iets al dan niet wordt uitgevoerd?
Dat dus. Lijkt wel alsof hij eigenlijk functie aanroepen moet gaan batchen.
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  woensdag 11 september 2013 @ 00:44:24 #274
12221 Tijn
Powered by MS Paint
pi_131048612
Als je het per se wil, zou ik zoiets doen:

1
2
3
4
5
6
7
8
9
10
11
12
13
var allowed = true;

function doIt() {
  if(allowed) {
    allowed = false;
    
    setTimeout(function() {
      allowed = true;
    }, 350);
    
    // doe hier iets
  }
}

Nu kun je doIt() zo vaak aanroepen als je wil, maar hij gaat niet vaker af dan 1x in de 350 ms.
pi_131048899
quote:
5s.gif Op woensdag 11 september 2013 00:23 schreef Tijn het volgende:
Maar waarom dan? En sowieso, waarom wil je die hele functie uitschakelen? Je kunt toch gewoon binnen bar() een if-statement maken waarin iets al dan niet wordt uitgevoerd?
Dat doe ik toch ook? Alleen die variabele in de if-statement zou eigenlijk een bool moeten zijn.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')