quote:<script type="text/javascript">
function my_moveTo( elmN, y ) {
elm = document.getElementById( elmN )
newY = elm.offsetLeft
if (newY > y) {
newY = newY - 5
elm .style.left = newY
setTimeout( "my_moveTo( '"+elmN+"', "+y+" ) ", 250 )
}
}
function init() {
document.getElementById( 'menu' ).style.left = document.body.clientWidth
my_moveTo( 'menu', 50 )
}
window.onload = init
</script>
<style type="text/css">
DIV#menu {
position: absolute; top: 50px; left: 1000px; width: 250px; border: 1px solid red;
}
</style>
<div id="menu">menu-blah</menu>
ik had inderdaad het vermoeden dat dit met de onload handler moest, echter begrijp ik je script niet helemaal. Waar roep je die functie nu aan? En waar geef ik de uiteindelijke locatie op van de div en waar de start locatie?quote:Op maandag 29 november 2004 15:26 schreef RM-rf het volgende:
je kunt functies gewoon onload aanroepen, het onload-event vind plaats direkt na het inladen van een hele pagina (incl. alle afbeeldingen hierop)
vervolgs kun je een simpel moveBy script aanroepen:
iets als
[..]
Yep, ik zie het. Ik ging uit van van links naar rechts maar jij beweegt van rechts naar links.quote:Op maandag 29 november 2004 15:44 schreef RM-rf het volgende:
het aanroepen van een functie onload kan gewoon door bv <dody onload="functienaam()"> te doen, maar ook in het script zelf door window.onload = functienaam (waarbij je dus geen variabelen door doorgeven, daarom mijn 'init' functie).
verder draait het script er een beetje om dat je via getElementById elementen aanspreekt en hiervan eerst een waarde opvraagt (via object.offsetLeft) en deze vervolgens aanpast wanneer hij groter is dan de variabele y...
hierna roept de functie zichzelf via een Timeout weer aan, via setTimeout(), de functie wordt dus meermaals herhaald zolang de linkerwaarde van het element groter is dan 'y'...
in mn voorbeeldscript-script wordt in de init-functie het menu-element eerst helemaal naar rechtsbzuiten de pagina gezet, waarna de functie my_moveTo het element in stappen van 5 pixels per kwartseconde naar links beweegt.
quote:
<html>
<head>
<title>move.layer</title>
<script type="text/javascript">
function init(){
if(document.getElementById){
obj = document.getElementById("menuDiv");
obj.style.left = 156;
}
}
function slideRight(){
if(document.getElementById){
if(parseInt(obj.style.left) < 255){
obj.style.left = parseInt(obj.style.left) + 10 + "px";
setTimeout("slideRight()",15);
}
}
}
function slideLeft(){
if(document.getElementById){
if(parseInt(obj.style.left) > 156){
obj.style.left = parseInt(obj.style.left) - 10 + "px";
setTimeout("slideLeft()",15);
}
}
}
</script>
<style type="text/css">
#menuDiv{
position:absolute;
left:156px;
top:148px;
width:110px;
text-align:right;
font-family: Arial, verdana, sans;
font-size:8pt;
z-index:2;
filter:alpha(opacity=90);-moz-opacity:0.90;
}
</style>
</head>
<body onLoad="init()" bgcolor="white">
<div id="menuDiv">
<a href="javascript:slideLeft()"><img src="image/left.gif" alt="arrow" border="0"/></a>
<a href="javascript:slideRight()"><img src="image/right.gif" alt="arrow" border="0" /></a>
<div style="position:relative; left:-17px; border-color:black; border-style:solid; border-width:1px 1px 0px 1px; background-color:#B8D3C8;">
<a href="#" onblur="slideLeft()">Wie?</a> </div>
<div style="position:relative; left:-17px; border-color:black; border-style:solid; border-width:1px 1px 0px 1px; background-color:#B8D3C8;">
<a href="#" onblur="slideLeft()">Wat?</a> </div>
<div style="position:relative; left:-17px; border-color:black; border-style:solid; border-width:1px 1px 0px 1px; background-color:#B8D3C8;">
<a href="#" onblur="slideLeft()">Hoe?</a> </div>
<div style="position:relative; left:-17px; border-color:black; border-style:solid; border-width:1px 1px 0px 1px; background-color:#B8D3C8;">
<a href="#" onblur="slideLeft()">Waarom?</a> </div>
<div style="position:relative; left:-17px; border-color:black; border-style:solid; border-width:1px; background-color:#B8D3C8;">
<a href="#" onblur="slideLeft()">Wanneer?</a> </div>
</div>
<div class="menu"><span onmouseover="slideRight()">Menu </span></div>
Wow, dat is best cool, als je dat iin javascript kanquote:Op donderdag 2 december 2004 11:57 schreef daReaper het volgende:
omdat ik zo'n hekel heb aan Flash, heb ik eens aan een vriend laten zien dat je met JavaScript bijna hetzelfde kan: http://80.60.202.155/flashzut/. Na verloop van tijd had ik er geen zin meer in, maar de basis is er
(ik had er destijds echter geen image preloaders ingebouwd, dus missch moet je m 2x kijken voor alles in je cache zit)
quote:
quote:Op donderdag 2 december 2004 15:14 schreef Lucille het volgende:
[..]
Geen idee of ik nu poep praat, maar ik kan me voorstellen dat als er iets niet helemaal juist gaat in het stukje JavaScript, dat een doctype met strict HTML handling dan de code niet uitvoert. Een eerste blik in je code liet niet iets fout zien, maar toen bedacht ik me dus dat het heel misschien noodzakelijk is om een eventhandler netjes af te sluiten met een boolean return value voor de afhandeling van de error status. Dit zou je dus kunnen testen door de boolean mee te geven in de return van de event handler of door de return met boolean achter de aanroep van je event handler te zetten.
quote:
quote:Op donderdag 2 december 2004 15:27 schreef giMoz het volgende:
in je JS ook je
<!-- -->
weghalen.
Da hoeft dus niet.
quote:
Ook je functies een boolean terug laten geven.
dus:
return true;
aan het einde van je functie.
quote:
function init(){
if(document.getElementById){
obj = document.getElementById("menuDiv");
obj.style.left = 156;
return true;
}
}
function slideRight(){
if(document.getElementById){
if(parseInt(obj.style.left) < 255){
obj.style.left = parseInt(obj.style.left) + 10 + "px";
setTimeout("slideRight()",15);
return true;
}
}
}
function slideLeft(){
if(document.getElementById){
if(parseInt(obj.style.left) > 156){
obj.style.left = parseInt(obj.style.left) - 10 + "px";
setTimeout("slideLeft()",15);
return true;
}
}
}
quote:Op donderdag 2 december 2004 15:23 schreef Swetsenegger het volgende:
Nu in dummie taal
Wat moet ik waar mee geven?
quote:Op donderdag 2 december 2004 15:42 schreef Lucille het volgende:
[..]
Op dit moment maak je een eventhandler op deze manier (voorbeeld, geen directe copy):
HTML deel:
onblur="doeJeDing()"
en dan in JS:
function doeJeDing() {
bla bla
return;
}
Ofwel, funcie doeJeDing() geeft geen boolean status terug (alleen een return zonder waarde) aan de eventhandler onblur. Sommige JS functies kunnen daar niet zo goed tegen en willen graag een boolean return zien (return true of return false). Dit kan je dus in de functie doeJeDing() zetten, zodat je in HTML krijgt:
onblur="return doeJeDing();"
wat ook kan is de return in je HTML stukje zetten bij de aanroep van de onblur event handler. Dat kan op twee manieren:
onblur="doeJeDing(); return false;"
Bovenste voorbeeld is het beste want dankan je in je eventhandler zowel true als false doorgeven (waardoor je netjes kan controleren of iets werkt en fouten kan afvangen), de onderste methode forceert een vaste boolean return waarde (in dit geval false), waardoor je nooit helemaal zeker bent van het resultaat in je event functie, maar er wel altijd een goede return waarde uit je eventhandler onblur komt.
Het enige waar ik nu over twijfel is of je bij succes een true of een false moet meegeven.
Ik dacht dus een false, vergelijkbaar met C programma's waarbij een 1 een foutstatus oproept en een 0 foutloos is. Maar pin me er niet op vast.
quote:
function init(){
if(document.getElementById){
obj = document.getElementById("menuDiv");
obj.style.left "156px";
}
}
quote:Op vrijdag 3 december 2004 22:38 schreef Swetsenegger het volgende:
Wederom een vraag over dit scriptje.
In dit scriptje werkt de functie op een divje met als id 'menuDiv'. Op 1 pagina kan ik die dus maar 1 keer toepassen.
Hoe verbouw ik dit nu zo dat ik die slide functie voor meerdere divs kan aanroepen?
quote:Op vrijdag 3 december 2004 23:04 schreef daReaper het volgende:
[..]
function slideRight(obj){
if(document.getElementById){
if(parseInt(obj.style.left) < 255){
obj.style.left = parseInt(obj.style.left) + 10 + "px";
setTimeout("slideRight()",15);
return true;
}
sliderecht aanroepen als:
slideRight(document.getElementById("idvanDiv"));
of als je hem aanroept vanuit het object zelf uit een event:
<div onclick="slideRight(this)">...</div>
(bedoel je dat?)
quote:
function init(name){
if(document.getElementById){
obj = document.getElementById(name);
obj.style.left = "136px";
}
}
<td onmouseover="init('menu1');slideRight()">
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <script type="text/javascript"> function validate() { toegestaan = new Array("mid","jpg","gif") bestandsnaam = document.upload.upload.value extentie = bestandsnaam.substr(bestandsnaam.length-3,3) validate = 1 for (i = 0; i < toegestaan.length; i++){ if(extentie != toegestaan[i]){ validate = 0 } } if (validate == 0) alert("Deze extentie(" + extentie + ") is niet bruikbaar voor mobiele telefoons.") return false } </script> |
Nee hoor. Als ik bijv een .mid file pakt dan submit ie gewoon. Bij een .exe krijg ik een error. Maar als je bijv 2x op de button klikt dan submit ie altijdquote:Op woensdag 8 december 2004 18:13 schreef SuperRembo het volgende:
validate() returnt altijd false
en extensie is met een s
quote:Op woensdag 8 december 2004 22:10 schreef Da_Koen het volgende:
Hoe kan ik het nou oplossen?
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 | <html> <head> <script type="text/javascript"> function validate() { var toegestaan = new Array("mid","jpg","gif"); var bestandsnaam = document.getElementById('upload').value; var parts = bestandsnaam.split('.'); var extensie = parts[parts.length-1]; var isValid = false; for (var i = 0; i < toegestaan.length; i++) { if (extensie == toegestaan[i]) { isValid = true; break; } } if (!isValid) { alert("Deze extensie(" + extensie + ") is niet bruikbaar voor mobiele telefoons."); } return isValid; } </script> </head> <body> <form enctype="multipart/form-data" method="post"> <input type="file" name="upload" id="upload"><br> <input type="submit" value="uploaden maar!" onclick="return validate()"> </form> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php if (isset($_GET['width']) AND isset($_GET['height'])) { // output the geometry variables echo "Screen width is: ". $_GET['width'] ."<br />\n"; echo "Screen height is: ". $_GET['height'] ."<br />\n"; } else { // pass the geometry variables // (preserve the original query string // -- post variables will need to handled differently) echo "<script language='javascript'>\n"; echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; exit(); } ?> |
1 2 3 4 5 6 7 8 | function check(form){ if(form.naam.value != '' && form.bericht.value != ''){ form.submit(); } else{ alert('Je hebt niet alles goed ingevuld'); } } |
1 2 3 | function timer() { setTimeout("slideLeft()", 3000); } |
1 2 3 4 | var idle; function timer() { idle=setTimeout("slideLeft()", 3000); } |
eh nee hoor...., in xhtml mogen er geen hoofdletters in tags, etc meer.quote:Op dinsdag 28 december 2004 21:12 schreef _Jeffrey_ het volgende:
Ik krijg de melding 'Object wordt verwacht'. In dit geval kent ie 'cleartimeout' niet, aangezien het 'clearTimeout' is.
Met een hoofdletter T dus
Javascript != XHTMLquote:Op dinsdag 28 december 2004 21:29 schreef Swetsenegger het volgende:
[..]
eh nee hoor...., in xhtml mogen er geen hoofdletters in tags, etc meer.
onMouseOver is dus ook gewoon onmouseover en functioneert allemaal prima.
Het werkt fantastischquote:Op dinsdag 28 december 2004 21:46 schreef _Jeffrey_ het volgende:
cleartimeout zal echt niet werken. clearTimeout wel.
1 2 3 4 5 6 7 8 | <script type="text/javascript"> var idle; function timer() { idle=setTimeout("slideLeft()", 750); } </script> <div onmouseout="timer();" onmouseover="clearTimeout(idle);"> |
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 | function getValue(varname) { // First, we load the URL into a variable var url = window.location.href; // Next, split the url by the ? var qparts = url.split("?"); // Check that there is a querystring, return "" if not if (qparts.length == 0) { var niets='uk.txt'; return niets; } // Then find the querystring, everything after the ? var query = qparts[1]; // Split the query string into variables (separates by &s) var vars = query.split("&"); // Initialize the value with "" as default var value = ""; // Iterate through vars, checking each one for varname for (i=0;i<vars.length;i++) { // Split the variable by =, which splits name and value var parts = vars[i].split("="); // Check if the correct variable if (parts[0] == varname) { // Load value into variable value = parts[1]; // End the loop break; } } // Convert escape codes value = unescape(value); // Return the value return value; } var file = getValue("link"); |
1 2 3 4 5 6 7 8 9 | // Next, split the url by the ? var qparts = url.split("?"); // Check that there is a querystring, return "" if not if (qparts.length == 0) { var niets='uk.txt'; return niets; } |
Maar in dit geval staat er dus helemaal geen ? in de url...quote:Op donderdag 30 december 2004 18:24 schreef SuperRembo het volgende:
'foo'.split('?').length geeft 1
Verder geeft window.location.search meteen de seach string. Die begint alleen wel met een '?', die moet je er zelf afknippen.
quote:Op donderdag 30 december 2004 19:05 schreef SuperRembo het volgende:
Nee. Als je 'foo' split op '?' dan krijg je een array met 1 element, namelijk 'foo'.
1 | <script type="text/javascript">document.write('<a class="twee" href="status1.htm?link=' + language + '" target="iframe">' + (showText(0)) +'</a>')</script> |
1 2 3 4 5 6 7 8 9 10 11 | function Add() { var optgroup = document.getElementById('optgroup'); var select = document.getElementById('select'); element = document.createElement("option"); element.setAttribute("value", 1); element.innerHTML = "Testing"; optgroup.appendChild(element); document.getElementById('h').value = optgroup.getElementsByTagName("option").length; } |
Nee, 't is intranetquote:Op vrijdag 31 december 2004 16:02 schreef _Jeffrey_ het volgende:
Hier in FF 1.0 werkt het gewoon goed.
Misschien staat er een layer over de link heen ofzo? heb je een online voorbeeldje?
Het lijkt een Opera bug te zijn. Zelfs als je de innerHTML van het hele select element opvraagt nadat het option element geplaatst is, lijkt het gewoon op de goede plaats in het select element te staan, maar het wordt gewoon niet zichtbaar. Option elementen toevoegen aan het select element werkt wel goedquote:Op vrijdag 31 december 2004 16:25 schreef Arjan321 het volgende:
Zie http://www.n321.com/poc.html
Waarom werkt dit allemaal geweldig in Gecko en IE, maar niet in Opera?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function Add() { var optgroup = document.getElementById('optgroup'); var select = document.getElementById('select'); var container = document.getElementById('containeri'); element = document.createElement("option"); element.setAttribute("value", 1); element.innerHTML = "Testing"; optgroup.appendChild(element); if (window.opera) { clone = select.cloneNode(true); container.removeChild(select); container.appendChild(clone); } } |
je kunt wel een script maken dat alle tekst-waardes omzet naar hun hex-karakter (via de Stringmethode.toString(16))quote:Op donderdag 13 januari 2005 17:08 schreef Swetsenegger het volgende:
Is er een javascript equivalent van php's htmlentities?
1 | <&bléüh> |
1 | <&bléüh> |
1 2 3 4 5 6 7 8 9 10 11 | var my_variabele = '<&bléüh>' var string_output='' var temp_var for( var i=0; i < my_variabele.length; i++ ) { temp_var = my_variabele.charAt( i ); temp_var = temp_var.charCodeAt(0); temp_var = ''+ temp_var.toString(16) + ';' string_output += temp_var; } return string_output |
helaas is het een embedded systeem waarbij er geen ruimte is voor php of ander serverside oplossingen. Alleen client side scripting.quote:Op donderdag 13 januari 2005 17:47 schreef RM-rf het volgende:
[..]
je kunt wel een script maken dat alle tekst-waardes omzet naar hun hex-karakter (via de Stringmethode.toString(16))
[ code verwijderd ]
wordt dan
[ code verwijderd ]
dmv code als bv:
[ code verwijderd ]
Maar dat kan ook een onpraktische situatie zijn, als het voor een CMS is, is het eerder aan te raden om sowieso alle input via html_entities te laten gaan en gebruikers te verbieden zelf direkt html in te voeren, hooguit misschien bepaalde standaard-waardes er voorheen uit te filteren, daarmee behoud je een betere controle over de input van gebruikers
(juist binnen een CMS is het een zeker risico om mensen volledig het recht te geven direkt HTML in te voeren)
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 | function cloack(waarde) { if(waarde == "yes") { document.getElementById('layer1').style.visibility = 'hidden'; document.getElementById('layer1').style.display = 'None'; document.getElementById('layer2').style.visibility = 'visible'; document.getElementById('layer2').style.display = 'Block'; document.getElementById('command').style.display = 'None'; } else if(waarde == "no") { document.getElementById('layer2').style.visibility = 'hidden'; document.getElementById('layer2').style.display = 'None'; document.getElementById('layer1').style.visibility = 'visible'; document.getElementById('layer1').style.display = 'Block'; document.getElementById('command').style.display = 'None'; } else { document.getElementById('layer2').style.visibility = 'hidden'; document.getElementById('layer2').style.display = 'None'; document.getElementById('layer1').style.visibility = 'hidden'; document.getElementById('layer1').style.display = 'None'; document.getElementById('command').style.display = 'None'; } } |
quote:Op vrijdag 14 januari 2005 23:39 schreef mschol het volgende:
vraagje aan de JS experts:
[ code verwijderd ]
is er een manier om dit efficienter te doen??? of niet?
ik gebruik een if, else if, else script omdat ik in de dropdown box 3 waardes heb: ja, nee en blank (de standaard waarde)
1 2 3 4 5 6 7 | function cloack(waarde) { document.getElementById("layer1").style.visibility = waarde == "yes" ? 'visible' : "hidden"; document.getElementById("layer1").style.display = waarde == "yes" ? 'block' : "none"; document.getElementById("layer2").style.visibility = waarde == "no" ? 'visible' : "hidden"; document.getElementById("layer2").style.display = waarde == "no" ? 'block' : "none"; document.getElementById('command').style.display = 'None'; } |
1 2 3 4 5 | function cloak(waarde) { document.getElementById('layer1').style.display = waarde == 'yes' ? 'block' : 'none'; document.getElementById('layer2').style.display = waarde == 'no' ? 'block' : 'none'; document.getElementById('command').style.display = 'none'; } |
1 2 3 4 5 6 7 | <input type="checkbox" name="en_aanvang" checked onClick="Toggle('agenda_nieuw_aanvang')"> Aanvang: <input type="text" name="agenda_nieuw_aanvang" maxlength="10"> uur<br/> <input type="checkbox" name="en_prijs" checked onClick="Toggle('agenda_nieuw_prijs')"> Prijs: ¤<input type="text" name="agenda_nieuw_prijs" maxlength="5"><br/> |
1 2 3 4 5 6 7 8 9 | <script language="Javascript"> function Toggle(elID) { if(document.getElementById(elID).style.disabled == true) { document.getElementById(elID).style.disabled = false; } else { document.getElementById(elID).style.disabled = true; } } </script> |
1 | document.getElementById(elID).disabled |
quote:Op vrijdag 21 januari 2005 16:32 schreef Heliospan het volgende:
[ code verwijderd ]
Ugh, mijn schrale beetje javascriptkennis laat me weer in de steek. Wat ik wil is op zich niet zo moeilijk leek me. Als op de checkboxen 'en_aanvang' of 'en_prijs' geklikt wordt, wordt respectievelijk 'agenda_nieuw_aanvang' disabled/enabled, of 'agenda_nieuw_prijs' disabled/enabled. Ik heb echter meerdere pogingen gedaan om de "Toggle"-functie te schrijven, maar ik kom er niet uit. En het moet zo makkelijk zijn. Kan iemand me even uit de brand helpen?
Dit werkt iig niet
[ code verwijderd ]
1 2 3 | <script language="Javascript"> document.getElementById(elID).disabled = document.getElementById(elID).disabled == true ? false : true; </script> |
1 2 3 4 5 6 7 8 9 | function Toggle(elID) { if(document.getElementById(elID).disabled == true) { document.getElementById(elID).disabled = false; document.getElementById(elID).style.backgroundColor = "#ffffff"; } else { document.getElementById(elID).disabled = true; document.getElementById(elID).style.backgroundColor = "#aaaaaa"; } } |
1 2 3 4 5 6 7 8 9 10 11 | function Toggle(id) { var el = document.getElementById(id); if (!el) return; if (el.disabled) { el.disabled = false; el.style.backgroundColor = '#fff'; } else { el.disabled = true; el.style.backgroundColor = '#aaa'; } } |
Inderdaad een stuk duidelijker dan "Object Expected", wat IE 9 op de 10x zegtquote:Op vrijdag 21 januari 2005 19:41 schreef Arjan321 het volgende:
Moet wel even zeggen dat FireFox een prachtige javascript console heeft, die, zolang je niets al te vreemd doet, een foutmelding geeft wat er fout gaat in het script (Tools -> Javascript Console)
1 2 3 4 5 6 7 8 9 10 | <body> <img name="home" border="0" src="image/static.gif" width="14px" height="14px"> <a href="home.htm" onmouseover="document.home.src='image/on.gif';playSound(0)" onmouseout="document.home.src='image/off.gif'">home</a><br /> <img name="occassion" border="0" src="image/static.gif" width="14px" height="14px"> <a href="occassion.htm" onmouseover="document.occassion.src='image/on.gif';playSound(0)" onmouseout="document.occassion.src='image/off.gif'">occassion</a><br /> <img name="aanbieding" border="0" src="image/static.gif" width="14px" height="14px"> <a href="aanbieding.htm" onmouseover="document.aanbieding.src='image/on.gif';playSound(0)" onmouseout="document.aanbieding.src='image/off.gif'">aanbieding</a><br /> <img name="bestellen" align=middle src="image/static.gif" width="14px" height="14px"> <a href="bestellen.htm" onmouseover="document.bestellen.src='image/on.gif';playSound(0)" onmouseout="document.bestellen.src='image/off.gif'">bestellen</a><br /> </body> |
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 | var aySound = new Array(); aySound[0] = "image/rollover01.wav"; document.write('<BGSOUND ID="auIEContainer">') IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0; NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0; ver4 = IE||NS? 1:0; onload=auPreload; function auPreload() { if (!ver4) return; if (NS) auEmb = new Layer(0,window); else { Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>"; document.body.insertAdjacentHTML("BeforeEnd",Str); } var Str = ''; for (i=0;i<aySound.length;i++) Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>" if (IE) auEmb.innerHTML = Str; else { auEmb.document.open(); auEmb.document.write(Str); auEmb.document.close(); } auCon = IE? document.all.auIEContainer:auEmb; auCon.control = auCtrl; } function auCtrl(whSound,play) { if (IE) this.src = play? aySound[whSound]:''; else eval("this.document.embeds[whSound]." + (play? "play()":"stop()")) } function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); } function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); } |
Ja die.quote:Op zondag 23 januari 2005 12:58 schreef Arjan321 het volgende:
https://bugzilla.mozilla.org/show_bug.cgi?id=266210 dus hè
1 2 3 | <span style="background-image: url('image/static.gif');background-repeat: no-repeat;padding-left: 15px;"> <a href="#" onmouseover="this.parentNode.style.backgroundImage='url(\'image/on.gif\')'" onmouseout="this.parentNode.style.backgroundImage='url(\'image/off.gif\')'">home</a> </span> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <html> <head> <title></title> <style type="text/css"> a { padding-left: 20px; background-image: url('off.gif'); background-repeat: no-repeat; background-position: 0% 50%; } a:hover { background-image: url('on.gif'); } </style> </head> <body> <a href="">Foo</a><br> <a href="">Bar</a><br> <a href="">Baz</a><br> </body> </html> |
Dat is godverdomme al de tweede keer dat ik tegen een gecko bug aanloop en workarounds voor MOZILLA moet verzinnen (in plaats van voor IE)quote:Op zondag 23 januari 2005 11:47 schreef SuperRembo het volgende:
Met niet-animated gifjes werkt het wel goed. Het is dus een bug in FireFox
Gefeliciteerd met je vondst
nee, dan zou je eerder met SVG (Scalable Vector Graphics, een W3C-standaard voor vector-gebaseerde afbeeldingen, in markup format) moeten werken, deze kent transform-attributen met een rotate-functiequote:Op zondag 23 januari 2005 19:44 schreef Swetsenegger het volgende:
Andere vraag. Bestaat er een DHTML mogelijkheid om div's te roteren?
Op google vind ik nietecht een oplossing
Dit vond ik op google inderdaad.quote:Op maandag 24 januari 2005 14:16 schreef RM-rf het volgende:
[..]
nee, dan zou je eerder met SVG (Scalable Vector Graphics, een W3C-standaard voor vector-gebaseerde afbeeldingen, in markup format) moeten werken, deze kent transform-attributen met een rotate-functie
Mozilla kent wel de mogelijkheid om zowel XHTML, MathML en SVG te combineren en door elkaar te gebruiken
maar explorer ondersteund dit niet, explorer kent wel de mogelijkheid om WML (een proprietair MS-formaat voor vectoren) of proprietaire css-filters toe te passen, die teksten laten roteren:
http://msdn.microsoft.com(...)e/filters/matrix.asp
maar een cross-browser oplossing is er niet.
quote:Op zaterdag 22 januari 2005 18:46 schreef Swetsenegger het volgende:Ander probleem, het volgende script zou 'crossbrowser' wavjes moeten laten horen bij events. In IE doet hij het, in gecko niet.
[ code verwijderd ]
Iemand een idee?
Het script dat je postte is uit de Netscape4 tijd (navigatoir.plugins['LiveAudio] en werken met New Layer()-methods, dat is allemaal document.layers troep)quote:Op maandag 24 januari 2005 15:32 schreef Swetsenegger het volgende:
Iemand nog een idee over deze? Werkt niet onder gecko
[..]
Ok, ik vond het al een lang en onduidelijk script voor zoites simpelsquote:Op maandag 24 januari 2005 15:40 schreef RM-rf het volgende:
[..]
Het script dat je postte is uit de Netscape4 tijd (navigatoir.plugins['LiveAudio] en werken met New Layer()-methods, dat is allemaal document.layers troep)
volgens mij kun je gewoonweg de explorer methode toepassen, ook voor gecko en andere browsers
Ja background sound is irritant, maar een heel zacht simpel piepje bij het aanwijzen van een knop vind ik wel toegevoegde waarde.quote:Op maandag 24 januari 2005 16:06 schreef Arjan321 het volgende:
bgsound is iets dat (gelukkig) alleen IE ondersteund.. Anders zou je iets als flash moeten gebruiken als je crossbrowser geluidjes wilt afspelen bij onmouseover..
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 | <html> <body topmargin=0 leftmargin=0> <script language="javascript"> function preview() { document.getElementById('preview').innerHTML = '<font size="' + document.getElementById('size').value + '" face="' + document.getElementById('font').value + '">Preview</font>'; } </script> <table border="0"> <tr><td>Font</td><td>Size</td><td> </td></tr> <tr><td><select id="font" name="font" size="4" onClick="preview();"> <option value="Arial">Arial</option> <option value="Helvetica">Helvetica</option> <option value="Times New Roman">Times New Roman</option> <option value="Verdana">Verdana</option></select></td> <td><select id="size" name="size" size="4" onClick="preview();"> <option value="8">8</option><option value="10">10</option> <option value="12">12</option><option value="14">14</option> <option value="18">18</option><option value="24">24</option> <option value="36">36</option></select></td> <td> </td> </tr> <tr><td colspan="3" style="height: 30px;" id="preview">Preview</td> </tr> </table> |
Waarom doe je het in godsnaam met innerHTML en een Font elementquote:Op donderdag 27 januari 2005 01:40 schreef Chandler het volgende:
Ik zit met het volgende, het het volgende scriptje probeer ik een font en grootte selecteren en weer te geven in de daarvoor bestemde 'box' met id.. nu is het probleem dat ik maar een malig de grootte van het font kan veranderen, daarna kan ik alles proberen maar krijg ik niet de juiste size er uit. Iemand die de fout ziet?
[ code verwijderd ]
ps enters ivm verneuken layout
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 | <html> <body topmargin=0 leftmargin=0> <script language="javascript"> function preview() { document.getElementById('preview').style.fontSize = document.getElementById('size').value + "pt"; } </script> <table border="0"> <tr><td>Font</td><td>Size</td><td> </td></tr> <tr><td><select id="font" name="font" size="4" onClick="preview();"> <option value="Arial">Arial</option> <option value="Helvetica">Helvetica</option> <option value="Times New Roman">Times New Roman</option> <option value="Verdana">Verdana</option></select></td> <td><select id="size" name="size" size="4" onClick="preview();"> <option value="8">8</option><option value="10">10</option> <option value="12">12</option><option value="14">14</option> <option value="18">18</option><option value="24">24</option> <option value="36">36</option></select></td> <td> </td> </tr> <tr><td colspan="3" style="height: 30px;" id="preview">Preview</td> </tr> </table> |
alle layout-opties behoren toe aan het 'style'-object:quote:Op donderdag 27 januari 2005 10:32 schreef Chandler het volgende:
ok, maar nu pas je alleen de 'fontsize' aann, ik neem aan dan je ook de font op die manier kan aanpassen?
1 2 3 4 5 | totaalArray = new Array(4) totaalArray[1] = '2,00'; totaalArray[2] = '4,45'; totaalArray[3] = '3,23'; totaalArray[4] = '6,53'; |
1 2 3 4 | var totaal = 0; for (var i = 0; i < totaalArray.length; i++) { totaal+= totaalArray[i]; } |
Je kan bijvoorbeeld zoiets doen:quote:Op vrijdag 28 januari 2005 10:25 schreef Swetsenegger het volgende:
Javascript helden, wederom een kleine vraag van mijn kant.
Ik heb een form met meerdere invulvelden en meerdere submits.
Nu wil ik bij bepaalde invoervelden de focus op een specifieke submit button krijgen.
Ik heb iets over focus() gelezen, maar hoe doe ik dit precies? Moet ik de invulvelden een ID meegeven of iets dergelijks?
misschien ter verduidelijking.
Wanneer ik een term in een bepaald veld invul, moet bij een enter niet submitknop 1 actief zijn, maar submitknop 2.
1 2 3 4 5 6 7 8 | <form> <input type="text" onchange="this.form.submit1.focus();" /> <input type="text" onchange="this.form.submit2.focus();" /> <input type="text" onchange="this.form.submit3.focus();" /> <input type="submit" name="submit1" value="Submit1" /> <input type="submit" name="submit2" value="Submit2" /> <input type="submit" name="submit3" value="Submit3" /> </form> |
Als je als laatste element in de font-family, ofwel serif, danwel sans-serif geeft, werkt het op zich in elke browser natuurlijk (serif, zijn lettertypen met een aanhangseltje aan de pootjes van de letters)quote:Op vrijdag 28 januari 2005 11:36 schreef Chandler het volgende:
tnx daReaper en RM-rf, nog een klein vraagje. Weten jullie welke font standaard op eingelijk alle windows/unix systemen te vinden zijn? en gebruikt kunnen worden voor internet toepassingen (web? etc?)
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |