Iedere malloot kan met greasemonkey je javascriptjes aanpassen. Dus je gebruikt javascript sowieso niet voor dingen die enig risico met zich meebrengen.quote:Op maandag 3 november 2008 @ 13:15 schreef SuperRembo het volgende:
Dat werkt wel, maar eval() heeft wel een risico dat er code uitgevoerd kan worden als iemand er in slaagt om de json string aan te passen.
http://www.json.org/json2.js heeft dat risico niet.
Cross-site scripting enzo... Het probleem is niet dat ik scriptjes op mijn pc kan aanpassen zodat er dingen anders werken dan de websitebouwen bedoeld heeft. Wat wel een probleem is is dat de ene persoon de scripting bij een ander kan aanpassen. Okay, 't risico is waarschijnlijk niet vreselijk groot...quote:Op maandag 3 november 2008 19:34 schreef mcDavid het volgende:
[..]
Iedere malloot kan met greasemonkey je javascriptjes aanpassen. Dus je gebruikt javascript sowieso niet voor dingen die enig risico met zich meebrengen.
Dan maakt het ook niet uit hoe je met strings om gaat.
1 |
Hier dan?quote:Op dinsdag 4 november 2008 13:41 schreef donroyco het volgende:
Ik zoek een werkend Javascript waarmee je afbeeldingen kunt laten roteren met een fade-in en fade-out. Heb al gezocht, maar de meeste scripts via Google werken niet met fade-ins en fade-outs, of de sites zijn niet bereikbaar.. Alvast bedankt
Thanks, daar kan ik zeker wat meequote:
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title></title> <script language="JavaScript" src="http://www.mattkruse.com/javascript/selectbox/compact/selectbox.js"></script> <script type="text/javascript"> function selectAll(selectBox,selectAll) { // have we been passed an ID if (typeof selectBox == "string") { selectBox = document.getElementById(selectBox); } // is the select box a multiple select box? if (selectBox.type == "select-multiple") { for (var i = 0; i < selectBox.options.length; i++) { selectBox.options[i].selected = selectAll; } } } var el = function (id) { return document.getElementById(id); } function go(my) { var ind = el('select').selectedIndex; var L = el('select').options.length; el('select').selectedIndex = (my.value=="up" && ind > 0)? ind -1 my.value=="down" && ind < L-1)? ind +1 : (my.value=="to top")? 0 : (my.value=="to bottom")? L-1 : ind; var txt = el('select')[el('select').selectedIndex].innerHTML; el('select')[el('select').selectedIndex].innerHTML = el('select')[ind].innerHTML; el('select')[ind].innerHTML = txt; } </script> </head> <body> <?php if(isset($_POST)) { print_r($_POST); } ?> <form action="test.php" method="POST"> <SELECT NAME="updownlist[]" id="updownlist" SIZE="12" MULTIPLE> <OPTION VALUE="Option 1"> Option 1 <OPTION VALUE="Option 2"> Option 2 <OPTION VALUE="Option 3"> Option 3 <OPTION VALUE="Option 4"> Option 4 <OPTION VALUE="Option 5"> Option 5 <OPTION VALUE="Option 6"> Option 6 <OPTION VALUE="Option 7"> Option 7 <OPTION VALUE="Option 8"> Option 8 <OPTION VALUE="Option 9"> Option 9 <OPTION VALUE="Option 10"> Option 10 <OPTION VALUE="Option 11"> Option 11 <OPTION VALUE="Option 12"> Option 12 </SELECT> <INPUT TYPE="button" VALUE=" Up " onClick="moveOptionUp(this.form['updownlist'])"> <INPUT TYPE="button" VALUE="Down" onClick="moveOptionDown(this.form['updownlist'])"> <br /><input type="submit" name="submit" value="submit" onclick="selectAll('updownlist',true)"> </form> <br> </body> </html> |
Ik zou kiezen voor een css-oplossing, met position: fixed;quote:Op zondag 9 november 2008 09:33 schreef Chandler het volgende:
Vraagje,
stel ik wil een divje (400x400) centreren in mijn browser, echter ook als ik naar beneden scroll wil ik dat het divje in het midden van het scherm blijft. Hoe moet ik dit oplossen? ik weet hoe ik een div moet centreren met javascript maar niet als er gescrolled is ?
breedte is niet zo lastig lijkt mequote:Op woensdag 12 november 2008 @ 10:04 schreef Chandler het volgende:
Weet iemand trouwens een scriptje waarmee ik een div precies in het midden van het scherm kan zetten? had 1tje gevonden maar helaas deze werkt niet naar behoren en laat de div niet in het midden zien.
Ook is het mijzelf niet gelukt(moet gebruik maken van margin-left, top: etc)
1 2 3 4 5 6 7 | if (window.innerHeight) {var hoogte = window.innerHeight;} // voor firefox else if (document.body.clientHeight){var hoogte = document.body.clientHeight;} // voor IE div.height=200; // het is helaas noodzakelijk de hoogte in het DOM te defineren anders pakt'ie m niet if (((hoogte-div.height)/2) > 0){hoogte=(hoogte-div.height)/2;} else {hoogte = 0;} // anders verdwijnt je div als je schermhoogte lager dan de div is. div.style.top=hoogte+"px"; |
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 | { var spanElement = document.getElementById(id) var btn = document.getElementById(btn); spanElement.innerHTML = "Uitgeschakeld." //IE if(navigator.appName == "Microsoft Internet Explorer") { spanElement.style.color = "red"; btn.value = "Inschakelen"; btn.onclick = setOn('berichtverkeer', 'berichtbtn'); } //Overige browsers else { spanElement.setAttribute("style","color:red;"); btn.setAttribute('onclick',"setOn('berichtverkeer','berichtbtn')"); btn.value = "Inschakelen"; } } function setOn(object, btn) { var spanElement = document.getElementById(object) var btn = document.getElementById(btn); if(navigator.appName == "Microsoft Internet Explorer") { spanElement.style.color = "green"; btn.value = "Uitschakelen"; btn.onclick = setOff('berichtverkeer', 'berichtbtn'); } else { spanElement.setAttribute("style","color:green;"); btn.setAttribute('onclick',"setOff('berichtverkeer','berichtbtn')"); btn.value = "Uitschakelen"; } spanElement.innerHTML = "Ingeschakeld." } |
1 2 3 | <br/> <input type="button" id="berichtbtn" onclick="setOff('berichtverkeer', 'berichtbtn')" value="Uitschakelen"> |
Door het te quoten werkt het helemaal niet meer.. maar ik vind het vreemd dat de onclick ook gelijk wordt uitegevoerd terwijl ik m alleen set.quote:Op vrijdag 14 november 2008 13:52 schreef mcDavid het volgende:
Die functies die je voor IE gebruikt zouden het gewoon in alle brouwsers moeten doen hoor.
En volgens mij moet je de functie die je op onclick wilt zetten quoten. Dus:
btn.onclick='setOn('berichtverkeer', 'berichtbtn')'
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 | { var allspans = mainContent.getElementsByTagName("span"); for (var i=0;i<allspans.length;i++) { for (var j=1;j<4;j++) { document.getElementById("vol" + i + "_C" + j).style.display = 'none'; document.getElementById("vol" + i + "_C" + j).style.visibility = 'hidden'; } } } function showhide2(id) { if(document.getElementById(id).style.display == 'none' || document.getElementById(id).style.display == '') { hideallids(); document.getElementById(id).style.visibility = 'visible'; document.getElementById(id).style.display = 'block'; } else { hideallids(); document.getElementById(id).style.visibility = 'hidden'; document.getElementById(id).style.display = 'none'; } } |
dat was inderdaad mijn probleemquote:Op zaterdag 15 november 2008 17:28 schreef mcDavid het volgende:
Heb je mainContent wel gedefineerd als document.getElementById("mainContent")?
-knip-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { var element = document.getElementById("mainContent"); var allspans = element.getElementsByTagName("span"); for (var i=1;i<allspans.length/3;i++) { for (var j=1;j<4;j++) { var idname = "vol" + i + "_C" + j; document.getElementById(idname).style.display = 'none'; document.getElementById(idname).style.visibility = 'hidden'; } } } |
mja die visibility/display is dan idd wel dubbelop... die corrigieer ik nog wel..quote:En bovendien is visibility = hidden en display = none ook dubbelop.
Visibility zorgt ervoor dat een element onzichtbaar wordt, maar wel blijft staan;
display = none zorgt ervoor dat een element echt wordt 'weggehaald' (zodat'ie ook geen ruimte meer inneemt).
En tenslotte is een span van zichzelf display="inline" dus het lijkt me verstandig om inline te gebruiken ipv block (tenzij je er een goede reden voor hebt)
-edit-
overigens zijn je huidige for-loops sowieso verkeerd ingericht. Probeer maar eens voor jezelf na te gaan hoe er precies door de loops heengewandeld wordt (beetje lastig om het helemaal uit te leggen). Als je bovenstaande methode zou gebruiken zou het volgens mij wel goed gaan.
hij pakt nu alleen de span's met een bepaalde ID, de rest laat hij lekker met rust (die IN de span met naam zitten)quote:Op zaterdag 15 november 2008 20:19 schreef mcDavid het volgende:
ah, zo met allspans.length/3 klopt'ie al beter ja. Loopt je script er iig niet op vast. Maar als je functie er idd zo uitziet pakt'ie ze toch allemaal dus kun je net zo goed mijn idee gebruiken.
En echt: display='none' en visibility = 'hidden' is dubbelop!
Ik wil de onderste thumbbar als iframe doen. Of gewoon een ID met overflow scroll? Ik heb niks kunnen vinden btw over het scrollen met je muis aan de rand, kan iemand iets vinden? Ik wil eigenlijk aan de zijkanten nog iets doen met 2 knopjes [<<] img img img img [> >] en dat je scrollt als je op die pijltjes hovert.quote:Op maandag 17 november 2008 14:17 schreef mcDavid het volgende:
Is prima haalbaar. Maar waarom wil je het met een iframe doen? maakt het alleen maar ingewikkeld denk ik.
Je kunt bijv. die grote afbeelding een ID geven, en dan de source wijzigen als je op een thumbnail klikt.
Ik zou gewoon een div maken met overflow scroll idd.quote:Op maandag 17 november 2008 @ 14:31 schreef Flaccid het volgende:
[..]
Ik wil de onderste thumbbar als iframe doen. Of gewoon een ID met overflow scroll? Ik heb niks kunnen vinden btw over het scrollen met je muis aan de rand, kan iemand iets vinden? Ik wil eigenlijk aan de zijkanten nog iets doen met 2 knopjes [<<] img img img img [> >] en dat je scrollt als je op die pijltjes hovert.
1 |
1 |
Hmm hoop interessant leesvoer!quote:Op woensdag 19 november 2008 @ 16:40 schreef mschol het volgende:
http://episteme.arstechni(...)27813/m/147000393731 ?
1 2 | <iframe src="test.htm" height="250px" widht="100px" id="test" name="test" ></iframe> |
maak 3 functies, functie 1: timer, functie 2: scrollBy() functie 3: kill timerquote:Op vrijdag 21 november 2008 @ 14:25 schreef Flaccid het volgende:
Ik kom niet uit dat scrollen van een iframe (of id). Ik wil dat met 2 hovers kunnen doen.
Ik denk het wel, maar ik wil eerst kijken of ik het zelf kan.quote:Op vrijdag 21 november 2008 14:57 schreef Chandler het volgende:
http://www.java2s.com/Cod(...)ollwhenmouseover.htm is dit niet te gebruiken?
Even scrollby ding opzoekenquote:Op vrijdag 21 november 2008 14:50 schreef mcDavid het volgende:
[..]
maak 3 functies, functie 1: timer, functie 2: scrollBy() functie 3: kill timer
onmouseover doe je functie 1,
onmouseout doe je functie 3.
de timer in functie 1 laat je bijv. iedere 100 ms functie 2 uitvoeren
functie 2 laat je iedere keer bijv. 3 pixels scrollen.
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | var d=document, imgs = new Array(), zInterval = null, current=0, pause=false; function so_init() { if(!d.getElementById || !d.createElement)return; css = d.createElement("link"); css.setAttribute("href","./css/default.css"); css.setAttribute("rel","stylesheet"); css.setAttribute("type","text/css"); d.getElementsByTagName("head")[0].appendChild(css); imgs = d.getElementById("fade-one").getElementsByTagName("img"); for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0; imgs[0].style.display = "block"; imgs[0].xOpacity = .99; setTimeout(so_xfade,1000); } function so_xfade() { cOpacity = imgs[current].xOpacity; nIndex = imgs[current+1]?current+1:0; nOpacity = imgs[nIndex].xOpacity; cOpacity-=.05; nOpacity+=.05; imgs[nIndex].style.display = "block"; imgs[current].xOpacity = cOpacity; imgs[nIndex].xOpacity = nOpacity; setOpacity(imgs[current]); setOpacity(imgs[nIndex]); if(cOpacity<=0) { imgs[current].style.display = "none"; current = nIndex; setTimeout(so_xfade,1000); } else { setTimeout(so_xfade,50); } function setOpacity(obj) { if(obj.xOpacity>.99) { obj.xOpacity = .99; return; } obj.style.opacity = obj.xOpacity; obj.style.MozOpacity = obj.xOpacity; obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")"; } } |
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 | <tr> <td> <div id="fade-one"> <img src="image/1105969.jpg" alt="" /> <img src="image/1189632.jpg" alt="" /> <img src="image/1421495.jpg" alt="" /> <img src="image/1901696.jpg" alt="" /> <img src="image/2416070.jpg" alt="" /> <img src="image/3253313.jpg" alt="" /> <img src="image/3763733.jpg" alt="" /> </div> </td> <td class="seperator"></td> <td> <div id="fade-two"> <img src="image/3827955.jpg" alt="" /> <img src="image/3990747.jpg" alt="" /> <img src="image/4294622.jpg" alt="" /> <img src="image/5387336.jpg" alt="" /> <img src="image/5458789.jpg" alt="" /> <img src="image/5641430.jpg" alt="" /> <img src="image/5685370.jpg" alt="" /> </div> </td> <td class="seperator"></td> <td> <div id="fade-three"> <img src="image/5814188.jpg" alt="" /> <img src="image/5825672.jpg" alt="" /> <img src="image/5933698.jpg" alt="" /> <img src="image/6592410.jpg" alt="" /> <img src="image/7008812.jpg" alt="" /> <img src="image/7116237.jpg" alt="" /> </div> </td> </tr> </table> |
1 2 3 4 5 6 | for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0; imgs[0].style.display = "block"; imgs[0].xOpacity = .99; setTimeout(so_xfade,1000); |
Ik ben echt een totale noob op het gebied van JS, zou je het misschien meer in jip-en-janneke taal kunnen uitleggenquote:Op zondag 23 november 2008 21:51 schreef mcDavid het volgende:
[ code verwijderd ]
dat stukje 3x uitvoeren, en imgs niet global declareren maar meegeven in de functie.
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | { str = ""; var done = new Array(); for (var i = 0; i < navigator.plugins.length; i++) { if (!done[navigator.plugins[i].name]) { done[navigator.plugins[i].name] = 1; str += escape(navigator.plugins[i].name) + ","; } } return str; } function gfxS_jsVersion() { js_ver = '0'; ar = new Array("1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0"); for (x = 0; x < ar.length; x++) { document.write('<' + 'script language="Javascript' + ar[x] + '">'); document.write('js_ver = "' + ar[x] + '";'); document.write('<' + '/script>'); } return js_ver; } function gfxS_checkCookie() { // create a fake cookie document.cookie = "testcookie=true"; if (document.cookie.indexOf('testcookie') == -1) { return 0; } else { return 1; } } var count_res = new Array(); count_res['language'] = navigator.language? navigator.language : navigator.userLanguage; count_res['colordepth'] = (navigator.appName.indexOf("Microsoft") > -1) ? screen.colorDepth : screen.pixelDepth; count_res['screenwidth'] = screen.width; count_res['screenheight'] = screen.height; count_res['referer'] = (document.referrer && document.referrer != "" && document.referer != 'undefined' && document.referrer != null) ? escape(document.referrer) : ''; count_res['is_java'] = (navigator.javaEnabled() == 1) ? 1 : 0; count_res['is_font'] = (window.screen.fontSmoothingEnabled == true) ? 1 : 0; count_res['is_cookie'] = gfxS_checkCookie(); count_res['js_version'] = gfxS_jsVersion(); count_res['plugins'] = gfxS_browserPlugins(); // do code var str = ''; var d = ''; for (var d in count_res) { if (count_res[d] != '') { str += "&" + d + "=" + count_res[d]; } } document.write('<img src="http://www.mijndomein.nl/count/<?php echo $_GET['id']; ?>.png?cache=false' + str + '" ALT="statistics"'); |
1 | ![]() |
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |