Probeer NitobiBug.quote:Op zaterdag 6 november 2010 16:00 schreef RenRen- het volgende:
Ik zoek een debugger die code klaarmaakt voor iedere browser, gericht op Javascript, hebben jullie namen?
Bedoel je niet gewoon Ctrl+shift+J?quote:Op zaterdag 6 november 2010 16:00 schreef RenRen- het volgende:
Ik zoek een debugger die code klaarmaakt voor iedere browser, gericht op Javascript, hebben jullie namen?
Ik heb nu dit bedacht:quote:Op maandag 15 november 2010 13:56 schreef Crutch het volgende:
Ik wil graag binnenin een for- of whileloop een minpauze inlassen alvorens de volgende herhaling van de loop wordt gedaan.
Hoe doe ik dat?
Ik kan geen pauzefunctie vinden behalve setTimeout, maar die vereist een functie.
1 2 3 4 5 6 7 | function start() { setTimeout( "end();", 3000); } function end() { // steek een vinger in je hol } |
Nee, want setTimeout plaatst de aan te roepen functie in een aparte thread zodat de rest van de applicatie door kan lopen. Tenzij je de code die uitgevoerd moet worden na de pauze in de functie end(); stopt gaat dat niet werken. Punt is dat je hoofdthread van een JS-script niet wílt pauzeren omdat de browser hangt in die tijd.quote:Op maandag 15 november 2010 14:01 schreef Crutch het volgende:
[..]
Ik heb nu dit bedacht:
[ code verwijderd ]
Dus zou ik op ieder gewild moment een pause van 3 sec kunnen invoegen met start();
Maar nee dus.
Volgensmij hangen browsers inderdaad gewoon zolang ze bezig zijn scripts uit te voeren, tenzij deze expliciet in een aparte thread geplaatst worden. De meeste scripts echter zijn niet zodanig groot dat je dat gaat merken tijdens het laden van een pagina. JS-engines van tegenwoordig zijn over het algemeen bloedjesnelquote:Op maandag 15 november 2010 14:32 schreef Crutch het volgende:
Doet Javascript dat met alle functies binnenin een loop?
jQuery doet zijn ding dus gewoon in een aparte thread, wel relaxed eigenlijk en ik had dat meteen moeten doen.quote:Op maandag 15 november 2010 14:57 schreef Intrepidity het volgende:
[..]
Volgensmij hangen browsers inderdaad gewoon zolang ze bezig zijn scripts uit te voeren, tenzij deze expliciet in een aparte thread geplaatst worden. De meeste scripts echter zijn niet zodanig groot dat je dat gaat merken tijdens het laden van een pagina. JS-engines van tegenwoordig zijn over het algemeen bloedjesnel
1000x800 is niet bepaald groot, ik heb al meerdere slideshows en brandboxes van dat formaat feilloos werkend gekregen. Gebruik je een bepaalde jQuery plugin of heb je het zelf geschreven?quote:Op donderdag 18 november 2010 11:08 schreef Doc.Brown het volgende:
Over jQuery gesproken. Ik probeer een leuke slideshow te maken van wat foto's maar al gauw wordt dit erg zwaar voor met name IE. Het zijn namelijk erg grote foto's (c.a. 1000x800) die ik met het "Ken Burns effect" in elkaar wil laten overlopen.
Zijn hier nog andere methodes voor? Ik zat zelf al te denken aan een eenvoudige Flash slideshow maar waar je bij Google prima kunt zoeken op "jquery slideshow", naar "flash slideshow" is al een stuk lastiger omdat er zoveel "free flash slideshow" sites zijn die, op z'n zachts gezegd, behoorlijk twijfelachtig zijn.
Hmm. Javascript en Transparency. Bij uitstek 2 dingen waar IE gigantisch slecht in is. Ik denk dat je het beste de browser maar de schuld kunt geven, en maar accepteren dat het in IE kut werkt. Of als alternatief voor IE het hele effect uitschakelen.quote:Op donderdag 18 november 2010 11:39 schreef Doc.Brown het volgende:
Een plugin ja, ik gebruik CrossSlide: http://tobia.github.com/CrossSlide/ en dan gebruik het Ken Burns effect.
Misschien is het hele zoomen en faden te zwaar bij een dergelijke resolutie? Of het is de plugin natuurlijk ja
Waarom zou je die JS-array niet met PHP opbouwen?quote:Op donderdag 18 november 2010 12:04 schreef Intrepidity het volgende:
Matige plugin overigens, de bestandsnamen moeten meegeven in een JS-array. Doorgaans heb je gewoon een div met hierin een zwik images, en vervolgens activeer je de plugin op die div. Dan heb je ook de optie om bijvoorbeeld met PHP slides toe te voegen door het genereren van wat HTML.
Omdat JS genereren met PHP een stuk ranziger is imo dan HTML genereren. Daarnaast doen de meeste plugins dat zo: $("div#divmetfotos").slideshow(); en klaar is kees. Dat maakt het ook een stuk makkelijker om al je JS onder te brengen in externe bestanden, aangezien de PHP parser meestal geen .js-files doorloopt.quote:Op donderdag 18 november 2010 12:18 schreef KomtTijd... het volgende:
[..]
Waarom zou je die JS-array niet met PHP opbouwen?
Waarom zou dat in hemelsnaam anders zijn?quote:Op donderdag 18 november 2010 12:42 schreef Intrepidity het volgende:
[..]
Omdat JS genereren met PHP een stuk ranziger is imo dan HTML genereren.
Een verborgen div met images vind ik eigenlijk ranziger dan gewoon een JS array. Dat eerste zit namelijk in je DOM terwijl het daar niets te zoeken heeft.quote:Daarnaast doen de meeste plugins dat zo: $("div#divmetfotos").slideshow(); en klaar is kees. Dat maakt het ook een stuk makkelijker om al je JS onder te brengen in externe bestanden, aangezien de PHP parser meestal geen .js-files doorloopt.
Waarom verborgen? Je hebt een div, met hierin een stapel images, allemaal op dezelfde absolute positie. Je activeert de slideshow-plugin waardoor het geheel gaat animeren. Dan heb je ook nog eens graceful-degradation, want als javascript uit staat of niet werkt ziet men alsnog de eerste afbeelding.quote:Op donderdag 18 november 2010 13:14 schreef KomtTijd... het volgende:
[..]
Waarom zou dat in hemelsnaam anders zijn?
[..]
Een verborgen div met images vind ik eigenlijk ranziger dan gewoon een JS array. Dat eerste zit namelijk in je DOM terwijl het daar niets te zoeken heeft.
1 2 | <input type="text" name="veld_1" id="veld_1" onchange="document.getElementById('veld_2').value=this.value.replace(/ /g,'-');" /> <input type="text" name="veld_2" id="veld_2"/> |
1 2 3 4 5 6 7 | $("#randomnumber").each(function() { var randX = Math.floor(Math.random()*window.outerWidth+1); var randY = Math.floor(Math.random()*window.outerHeight+1); $("#randomnumber").css("margin-left",randX); $("#randomnumber").css("margin-top", randY); }); |
Ik doe het volgende om een bepaald aantal wolkjes (quote:Op dinsdag 30 november 2010 14:09 schreef Treces het volgende:
Ik probeer divjes random op het scherm te plaatsen.. Ik kom alleen niet verder:
[ code verwijderd ]
Iemand?
1 2 3 4 5 6 7 8 9 | var browser_height = $(window).height(); var browser_width = $(window).width(); for(var i = 0; i < numclouds; i++) { $("body").append("<div class=\"cloud\"><img src=\"images/mains/cloud.png\" /></div>"); $("div.cloud").eq(i).css("top", Math.ceil(Math.random() * (browser_height-250)) + "px"); $("div.cloud").eq(i).css("left", Math.ceil(Math.random() * browser_width) + "px"); } |
Ik weet zeker dat bovenstaande code crossbrowser werkt vanaf in ieder geval IE6. Ik vermoed dat jQuery een bepaalde wrapper om window heenlegt om dergelijke inconsistenties te verhelpen.quote:Op dinsdag 30 november 2010 14:46 schreef KomtTijd... het volgende:
Weet je zeker dat die window height en width correcte waardes geven? Datsoort functies staan niet bekend om hun goeie cross-browser implementaties...
Niet veel, hangt van de doelgroep af. Voor een technisch publiek kun je prima een website met HTML 5 specifieke functionaliteiten bouwen. Voor huisvrouwen van middelbare leeftijd, meh.quote:Op dinsdag 30 november 2010 19:01 schreef Crutch het volgende:
Ik vraag me af hoeveel huishoudens inmiddels html5 kunnen zien in hun browser.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |