Avatar billede miss_lea Nybegynder
27. april 2004 - 04:01 Der er 4 kommentarer

Fade-effekt i Firebird?

Hej,

Jeg har rodet lidt med nedenstående java-script og det virker såmænd fint nok, men umiddelbart kun I IE!
Har testet med f.eks. Firefox og her virker det ikke...

Vil derfor gerne høre om der er nogen som ved, om det er muligt at lave et sådan script som kan læses og vises af andre browser end kun IE, f.eks. Firefox!

Kom med et bud hvordan det script evt. skal se ud...

Takker :)
Avatar billede miss_lea Nybegynder
27. april 2004 - 04:02 #1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Effekt</title>
<script language="JavaScript">
<!--
function namosw_fade_background(r1, g1, b1, r2, g2, b2, maxstep)
{
  var i, r, g, b;
  for (i = 0; i <= maxstep; i++) {
    r = Math.floor((r1*(maxstep-i) + r2*i)/maxstep);
    g = Math.floor((g1*(maxstep-i) + g2*i)/maxstep);
    b = Math.floor((b1*(maxstep-i) + b2*i)/maxstep);
    namosw_fade_setbgcolor(r, g, b)
  }
}

function namosw_fade_setbgcolor()
{
  var hexchars = '0123456789abcdef';
  var i;
  var color_str = '#';
  var args = namosw_fade_setbgcolor.arguments;
  if (args.length != 3)
    return;
  for (i = 0; i < 3; i++) {
    color_str += hexchars.charAt(Math.floor(args[i]/16));
    color_str += hexchars.charAt(args[i]%16);
  }
  document.bgColor = color_str;
}

// -->
</script>
<meta name="generator">
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" OnLoad="namosw_fade_background(0, 0, 0, 255, 255, 255, 10000);">
Avatar billede roenving Novice
27. april 2004 - 16:48 #2
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<title>Tomt dokument</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/493806">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

</style>
<script language="javascript" type="text/javascript">
var strt = "7AA067",slut = "FA7AB0",interval = 10;
var st,sl,act = total = timer = 0;
function setBG(){
  document.body.style.backgroundColor = "#" + strt;
}
function skiftBG(tim){
  st = retRGB(strt);
  sl = retRGB(slut);
  if(!st||!sl)return;
  if(!tim.match(/^\d*(\.\d+)?$/))return;
  total = Math.floor(+tim*1000);
  timer = setInterval('chgBG()',interval);
  document.body.style.backgroundColor = "#" + strt;
  alert(total);
}
function chgBG(){
  act += interval;
  if(act>=total){
    document.body.style.backgroundColor = "#" + slut;
    clearInterval(timer);
    act = total = timer = 0;
    return;
  }
  var rgb = new Array();
  for(i=0;3>i;i++){
    rgb[i] = st[i] + Math.round((sl[i]-st[i])*act/total);
  }
  document.body.style.backgroundColor = 'rgb('+rgb[0]+','+rgb[1]+','+rgb[2]+')';
}
function retRGB(txt){
  txt = txt.split("");
  if(txt.length==3){
    txt[5] = txt[4] = txt[2];
    txt[3] = txt[2] = txt[1];
    txt[1] = txt[0];
  }else if(txt.length!=6)return null;
  var rgb = new Array();
  for(i=0;3>i;i++){
    rgb[i] = 16 * parseInt(txt[2*i],16) + parseInt(txt[2*i+1],16)
  }
  return rgb;
}
</script>
</head>

<body onresize onload="setBG();">
<form id="minForm" name="minForm">
Angiv fade-over-tid: <input id="minInput" name="minInput" type="text" value="1" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br><button onclick="skiftBG(this.form.minInput.value)">Skift baggrund</button>
</form>

</body>

</html>
Avatar billede miss_lea Nybegynder
27. april 2004 - 17:19 #3
Orv, mega sejt roenving ;)

Desværre er jeg ikke så sej til java, så måske Du vil hjælpe mig med at rette scriptet til eller evt. bare fortælle hvor og hvilke værdier jeg skal ændre?

Jeg ville gerne at siden skiftet af sig selv, automatisk efter f.eks. 1 minut fra f.eks. hvid til sort over f.eks. 20 sek. – hvordan gør jeg det?

Altså helt automatisk uden at man skal angive fade-over-tid på siden?

Svar lige med et svar så jeg kan give dig point :)
Avatar billede roenving Novice
27. april 2004 - 23:20 #4
-- og du kan bare fjerne kaldene til minSpan OG span'en, når du har overbevist dig om at det virker:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<title>Tomt dokument</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/493806">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

</style>
<script language="javascript" type="text/javascript">
var strt = "fff",slut = "000",interval = 10;
var st,sl,act = total = timer = 0;
function setBG(){
  document.body.style.backgroundColor = "#" + strt;
  setTimeout('skiftBG("20")',60000)
}
function skiftBG(tim){
  st = retRGB(strt);
  sl = retRGB(slut);
  if(!st||!sl)return;
  if(!tim.match(/^\d*(\.\d+)?$/))return;
  total = Math.floor(+tim*1000);
  timer = setInterval('chgBG()',interval);
  document.body.style.backgroundColor = "#" + strt;
}
function chgBG(){
  act += interval;
  if(act>=total){
    document.body.style.backgroundColor = "#" + slut;
    clearInterval(timer);
    document.getElementById('minSpan').innerHTML = "";//denne linje fjernes
    act = total = timer = 0;
    return;
  }
  document.getElementById('minSpan').innerHTML = "Tid tilbage: " + (total-act) + " ms.";//denne linje fjernes
  var rgb = new Array();
  for(i=0;3>i;i++){
    rgb[i] = st[i] + Math.round((sl[i]-st[i])*act/total);
  }
  document.body.style.backgroundColor = 'rgb('+rgb[0]+','+rgb[1]+','+rgb[2]+')';
}
function retRGB(txt){
  txt = txt.split("");
  if(txt.length==3){
    txt[5] = txt[4] = txt[2];
    txt[3] = txt[2] = txt[1];
    txt[1] = txt[0];
  }else if(txt.length!=6)return null;
  var rgb = new Array();
  for(i=0;3>i;i++){
    rgb[i] = 16 * parseInt(txt[2*i],16) + parseInt(txt[2*i+1],16)
  }
  return rgb;
}
</script>
</head>

<body onresize onload="setBG();">
<form id="minForm" name="minForm">
<span id="minSpan" style="color:red"></span><!-- denne linje fjernes -->
<br><br><br><br><br><br><br><br></form>

</body>

</html>

-- og velbekomme '-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester