Opmaak kun je gewoon zoals altijd met CSS doen. Maakt niet uit of je elementen dynamisch zijn of niet.quote:Op dinsdag 31 mei 2011 21:13 schreef Chandler het volgende:
[..]
Laat me mijn vorige vraag anders stellen
Stel ik wil mijn HTML automatiseren middels javascript/jQuery door bepaalde elementen te voorzien van functies oa; auto suggest op velden, verwijzingen middels ajax van tabs naar divs of extern te laden pagina's...
Hoe zou ik dan de opmaak van elementen moeten maken? Een groot ontwerp moet namelijk omgezet worden naar html en wil dit nu op een tijdige manier aanpakken...
Ik denk dan aan het toevoegen van bepaalde noemers aan classes (class="class1 class2 class3") zodat ik deze simpel kan filteren middels jQuery. Op het web kon ik hier niets zinnigs over vinden.
quote:Op maandag 30 mei 2011 21:21 schreef n8n het volgende:
[..]
voor mobiele fok hebben we een ul waarin 2 li's zitten waarvan de geneste inhoud getoond moet worden na er op te klikken. Omdat het er 2 zijn moet de waarde van li 2 gereset worden als je op li 1 klikt. Ik wil de ul een class geven die verandert door de onclick op een van de li's.
<ul #nav .ingeklapt>
<li onclick(if #nav == .ingeklapt of .b-open maak #nav .a-open, if #nav == .a-open maak #nav .ingeklapt)/>
<li onclick(if #nav == .ingeklapt of .a-open maak #nav .b-open, if #nav == .b-open maak #nav .ingeklapt)/>
</ul>
zoiets, hoop dat het duidelijk is, weet bijna niks van js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <html> <head> <style> .ingeklapt{ display:none; } .mp,li{ cursor:pointer; } </style> <script type="text/javascript"> var page = "a"; var dub = false function menu(e){ if(!dub && e.tagName == "DIV"){ var ncl = document.getElementById('nav'); if(ncl.className == 'ingeklapt'){ ncl.className = 'uitgeklapt'; }else if(ncl.className == 'uitgeklapt'){ ncl.className = 'ingeklapt'; } }else{ dub = false; } if(e.tagName == "LI"){ dub = true; if(page != e.value){ page = e.value; //en anderes acties } } } </script> </head> <body> <div class="mp" onclick="menu(this)"> dit is een menu text <ul class="ingeklapt" id="nav"> <li onclick="menu(this)" value="0">a</li> <li onclick="menu(this)" value="1">b</li> </ul> </div> </body> </html> |
1 2 3 4 5 | var marker = new google.maps.Marker({ position: varPositie, map: map, icon: varIcon }); |
1 | alert(marker.position); |
1 | (52.080218106155456, 4.312434196472168) |
1 | <a href="#" onClick="markerinlijst2(' + marker.position + ')"> |
1 2 3 | function markerinlijst2 (markerposition) { // Toegevoegde marker in ontzichtbare lijst plaatsen alert(markerposition); } |
1 | 4.312434196472168 |
1 2 3 4 5 | <?php function foo(obj){ alert(obj.position); } ?> |
Als ik het object gewoon meegeef krijg ik bij de eerste alert [object Object] te zien, en bij de tweede krijg ik geen alert, maar wel een error:quote:Op dinsdag 7 juni 2011 11:01 schreef Scorpie het volgende:
Je kan gewoon objecten doorgeven en aflopen in Javascript hoor.
[ code verwijderd ]
Dus je hoeft niet marker.position door te geven, kan ook gewoon marker zijn.
Was niet geheel wat ik bedoelde maar het heeft me wel geholpen zelf een functie te schrijven (mijn allereerstequote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <script type="text/javascript"> function toggle_fok(id) { var e = document.getElementById(id); if (e.className == 'ingeklapt') e.className = 'fok'; else if (e.className == 'user') e.className = 'fok'; else e.className = 'ingeklapt'; } function toggle_user(id) { var e = document.getElementById(id); if (e.className == 'ingeklapt') e.className = 'user'; else if (e.className == 'fok') e.className = 'user'; else e.className = 'ingeklapt'; } </script> |
1 2 3 4 5 6 7 8 9 10 11 | <nav id="nav" class="ingeklapt"> <ul onclick="toggle_fok('nav');">toggle #fok <li>01</li> </ul> <ul id="user" onclick="toggle_user('nav');">toggle #user <li>02</li> </ul> </nav> |
1 2 3 4 | if (e.className == 'ingeklapt' || e.className == 'user') e.className = 'fok'; else e.className = 'ingeklapt'; |
1 2 | e.className = 'fok'; if (e.className != 'ingeklapt' && e.className != 'user') e.className = 'ingeklapt'; |
is dat niet hetzelfde als == ( || ) maar dan omgekeerd?quote:
Klopt, maar mijn functie is 2 regels, die van jou 4. Sowieso vind ik het altijd overzichtelijker om te beginnen met een uitgangssituatie en die te veranderen al naar gelieve de variabelen.quote:Op woensdag 8 juni 2011 07:34 schreef n8n het volgende:
[..]
is dat niet hetzelfde als == ( || ) maar dan omgekeerd?
voorbeeld: http://www.n8n.nl/temp/jsmenu.html
grijze tekst staat voor gesloten, groen voor open.
1 2 | if (e.className != 'subsites') e.className = 'subsites'; else if (e.className != 'closed' && e.className != 'user') e.className = 'closed'; |
klopt kan dit stukje lezen en interpreteren nu, de aanpassing die ik heb gemaakt zijn de if op de 1e regel en van de if op de tweede regel heb ik een else if gemaakt, leek mij logisch en Safari dacht daar ook zo overquote:Op woensdag 8 juni 2011 09:42 schreef KomtTijd... het volgende:
== en || (gelijk aan en OR) is precies het omgekeerde van != en && (niet gelijk aan en AND). Je zult het gedrag dus ook om moeten keren, of het hele statement moeten inverteren met een uitroepteken.
Het is allemaal gewoon wiskunde.
Ik vind die van jouw ook mooier maar ik zou zelf gaan voor:quote:
1 | (e.className != 'ingeklapt' && e.className != 'user') ? e.className = 'ingeklapt' : e.className = 'fok'; |
Een zogenaamde ternary operator. Typ dat maar eens in op google.quote:
Mja zover wilde ik nou ook weer niet gaanquote:Op woensdag 8 juni 2011 10:04 schreef wdn het volgende:
[..]
Ik vind die van jouw ook mooier maar ik zou zelf gaan voor:
[ code verwijderd ]
Dan is de marker ineens undefined :squote:Op dinsdag 7 juni 2011 11:58 schreef GlowMouse het volgende:
Probeer onClick="markerinlijst2(marker)"
1 2 3 4 5 6 | alert(varPositie); document.getElementById("routepunten").innerHTML = document.getElementById("routepunten").innerHTML+'<img src="'+varIcon+'"/><a href="#" onClick="lijnplaatsen(varPositie)">'+ titel + '</a>'; function lijnplaatsen (varPositie) { // Toegevoegde marker in ontzichtbare lijst plaatsen alert(varPositie); } |
1 2 | alert(varPositie); lijnplaatsen(varPositie); |
1 | document.write('<li>Appels: ' + localStorage.getItem('Appels') + '</li>' ); |
1 | <input type="range" name="fruitappels" id="fruitappels" value="0" min="0" max="10" /> |
Dat is geen probleem. Heb sowieso al alles opgebouwd op deze manier, waar ik al blij mee wasquote:
quote:Today we’re making the first version of Swiffy available on Google Labs. You can upload a SWF file, and Swiffy will produce an HTML5 version which will run in modern browsers with a high level of SVG support such as Chrome and Safari.
Swiffy uses a compact JSON representation of the animation, which is rendered using SVG and a bit of HTML5 and CSS3. ActionScript 2.0 is also present in the JSON object, and is interpreted in JavaScript in the browser. This representation makes the Swiffy animations almost as compact as the original SWF files.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | jQuery.fn.center = function () { this.css("position","absolute"); var topPos; var widthPos; topPos = (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop(); widthPos = (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft(); if(topPos<0){ topPos=0; } if(widthPos<0){ topPos=0; } this.css("top", topPos + "px"); this.css("left", widthPos + "px"); return this; } |
1 | $("#divId").center(); |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |