op deze webpagina http://www.fotogravin.nl/GOOD.html heb ik een javascript waardoor de achtergrond heel mooi van kleur veranderd. Dit gebeurt echter alleen in IE en niet in FF. Voorheen werkte het in FF ook. Nu heb ik echter een DOCTYPE bovenaan staan en wil het niet meer. Omdat ik de boel wel graag netjes enzo wil hebben (mét DOCTYPE) probeer ik al dagen uit te vissen waar het aan ligt. Hier komt het denk ik door: <body onLoad="doit()" bgcolor="#dbdbc7">
het javascript waar ik het over heb is deze:
[JS]<script type="text/javascript">
//<![CDATA[
<!--
<!--dit is het javascript voor de achtergrondkleuren -->
var hexChars = "0123456789ABCDEF";
function Dec2Hex (Dec) {
var a = Dec % 16;
var b = (Dec - a)/16;
hex = "" + hexChars.charAt(b) + hexChars.charAt(a);
return hex;
}
function bgChanger (end, step) {
if ( !step ) {
step = steps;
begin = document.bgColor.substr(1,6);
// alert(begin);
redA = begin.charAt(0) + begin.charAt(1);
red_valA = parseInt(redA,'16');
redB = end.charAt(0) + end.charAt(1);
red_valB = parseInt(redB,'16');
red_int = ((red_valB - red_valA) / step) * -1;
grnA = begin.charAt(2) + begin.charAt(3);
grn_valA = parseInt(grnA,'16');
grnB = end.charAt(2) + end.charAt(3);
grn_valB = parseInt(grnB,'16');
grn_int = ((grn_valB - grn_valA) / step) * -1;
bluA = begin.charAt(4) + begin.charAt(5);
blu_valA = parseInt(bluA,'16');
bluB = end.charAt(4) + end.charAt(5);
blu_valB = parseInt(bluB,'16');
blu_int = ((blu_valB - blu_valA) / step) * -1;
red = red_valA;
grn = grn_valA;
blu = blu_valA;
}
else
step = step -1 ;
red -= red_int;
red_round = Math.round(red);
red_hex = Dec2Hex(red_round);
grn -= grn_int;
grn_round = Math.round(grn);
grn_hex = Dec2Hex(grn_round);
blu -= blu_int;
blu_round = Math.round(blu);
blu_hex = Dec2Hex(blu_round);
document.bgColor = red_hex + grn_hex + blu_hex;
if ( step <= 0 ) {
document.bgColor = end;
// alert(count);
if ( ++count >= 10 ) count=0;
setTimeout("bgChanger('"+bgs[count]+"')", speed)
}
else
setTimeout("bgChanger('"+end+"','"+step+"')", speed)
}
var bgs=new Array("dbdbc7","eee3d0", "e4e0d9", "dbd1d3", "f2e4f0", "e1e1f2", "e3ebee", "e3eee8", "eaf2e0", "f3f3db");
var red, green, blue, red_int, green_int, blue_int;
var count = Math.round(9*Math.random());
var steps = 50;
var speed = 400;
function doit() {
document.bgColor = bgs[count++];
if ( count==10 ) count=0;
setTimeout("bgChanger('"+bgs[count]+"')", 2000);
}
//-->
//]]>
</script>[/JS]
Ik weet wel wat van html en css, maar javascript is voor mij behoorlijk abracadabra. Sorry hoor, maar als iemand weet hoe dit op te lossen.... zou heeel fijn zijn! http://www.helpmij.nl/forum/images/smilies/smile.gif
dankdank alvast
groeten!
Ans
het javascript waar ik het over heb is deze:
[JS]<script type="text/javascript">
//<![CDATA[
<!--
<!--dit is het javascript voor de achtergrondkleuren -->
var hexChars = "0123456789ABCDEF";
function Dec2Hex (Dec) {
var a = Dec % 16;
var b = (Dec - a)/16;
hex = "" + hexChars.charAt(b) + hexChars.charAt(a);
return hex;
}
function bgChanger (end, step) {
if ( !step ) {
step = steps;
begin = document.bgColor.substr(1,6);
// alert(begin);
redA = begin.charAt(0) + begin.charAt(1);
red_valA = parseInt(redA,'16');
redB = end.charAt(0) + end.charAt(1);
red_valB = parseInt(redB,'16');
red_int = ((red_valB - red_valA) / step) * -1;
grnA = begin.charAt(2) + begin.charAt(3);
grn_valA = parseInt(grnA,'16');
grnB = end.charAt(2) + end.charAt(3);
grn_valB = parseInt(grnB,'16');
grn_int = ((grn_valB - grn_valA) / step) * -1;
bluA = begin.charAt(4) + begin.charAt(5);
blu_valA = parseInt(bluA,'16');
bluB = end.charAt(4) + end.charAt(5);
blu_valB = parseInt(bluB,'16');
blu_int = ((blu_valB - blu_valA) / step) * -1;
red = red_valA;
grn = grn_valA;
blu = blu_valA;
}
else
step = step -1 ;
red -= red_int;
red_round = Math.round(red);
red_hex = Dec2Hex(red_round);
grn -= grn_int;
grn_round = Math.round(grn);
grn_hex = Dec2Hex(grn_round);
blu -= blu_int;
blu_round = Math.round(blu);
blu_hex = Dec2Hex(blu_round);
document.bgColor = red_hex + grn_hex + blu_hex;
if ( step <= 0 ) {
document.bgColor = end;
// alert(count);
if ( ++count >= 10 ) count=0;
setTimeout("bgChanger('"+bgs[count]+"')", speed)
}
else
setTimeout("bgChanger('"+end+"','"+step+"')", speed)
}
var bgs=new Array("dbdbc7","eee3d0", "e4e0d9", "dbd1d3", "f2e4f0", "e1e1f2", "e3ebee", "e3eee8", "eaf2e0", "f3f3db");
var red, green, blue, red_int, green_int, blue_int;
var count = Math.round(9*Math.random());
var steps = 50;
var speed = 400;
function doit() {
document.bgColor = bgs[count++];
if ( count==10 ) count=0;
setTimeout("bgChanger('"+bgs[count]+"')", 2000);
}
//-->
//]]>
</script>[/JS]
Ik weet wel wat van html en css, maar javascript is voor mij behoorlijk abracadabra. Sorry hoor, maar als iemand weet hoe dit op te lossen.... zou heeel fijn zijn! http://www.helpmij.nl/forum/images/smilies/smile.gif
dankdank alvast
groeten!
Ans