Textfader will mit Firefox nicht.

Lulu2

Grünschnabel
Hallo Gemeinde !

Ich weis ja, frames sind nicht mehr der "Letzte Schrei" aber wenn man ein bischen Bewegung auf der Seite haben will und mit Flash noch nicht so gut umgehen kann, dann bleiben halt nur die "Oldies". Doch genug dem Vorgeplänkel. Hab mir nen wunderschönen Textfader kopiert. Läuft unter IE super. Doch der Feuerfuchs weigert sich einfach meiner Meinung zu sein. (Zeigt nix). Vermute, dass man die Browserweiche im JS ergänzen muß. Dafür bin ich aber zu Blond ! Ist für die Homepage meines Friseur. Er hat versprochen wenn ich das Problem löse, färbt er mir kostenlos die Haare :-)

HTML:
<html><head>		
<title>indexfader.htm</title>
<script Language="Javascript">
<!--
bname=navigator.appName;
bversion=parseInt(navigator.appVersion)
if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4))
window.onload=start
else
stop();
window.onunload=stop
if (bname=="Netscape"){
brows=true
dt=2
}
else{
brows=false
dt=20
}
var z=0;
var msg=0;
var rgb=0;
var link=false;
var status=true;
var updwn=false;
var message= new Array();
var value=0;
var h=window.innerHeight;
var w=window.innerWidth;
var timer1;
var timer2;
var timer3;
var convert = new Array()
var hexbase= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");


// HIER KÖNNEN SIE DAS SCRIPT ANPASSEN


var bgcolor="#FFFFFF"; //Hintergrundfarbe
var color="#000000";  //Schriftfarbe

// Fügen Sie hier soviele Texte ein, wie Sie möchten.

message[0]='Das ist er,'
message[1]='der Textfader'
message[2]='<a href="index.shtml">auch Links sind möglich</a>'
message[3]='Schriftgröße- und Farbe sind auch veränderbar.'
message[4]='© 1997 - 1999 Lefteris Haritou'

for (x=0; x<16; x++){
for (y=0; y<16; y++){
convert[value]= hexbase[x] + hexbase[y];
value++;
}
}

redx=color.substring(1,3);
greenx=color.substring(3,5);
bluex=color.substring(5,7);
hred=eval(parseInt(redx,16));
hgreen=eval(parseInt(greenx,16));
hblue=eval(parseInt(bluex,16));
eredx=bgcolor.substring(1,3);
egreenx=bgcolor.substring(3,5);
ebluex=bgcolor.substring(5,7);
ered=eval(parseInt(eredx,16));
egreen=eval(parseInt(egreenx,16));
eblue=eval(parseInt(ebluex,16));
red=ered;
green=egreen;
blue=eblue;

function start(){
if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){
link=false;
updwn=true;
if (brows)
res=document.layers['textanim'].top
else{
textanim.style.width=document.body.offsetWidth-20;
textanim.innerHTML='<Pre><P Class="main" Align="Center">'+message[msg]+'</P></Pre>'
res=textanim.style.top
for (x=0; x<document.all.length; x++)
if(document.all[x].id=="textanimlink")
link=true;
}
up()
}
}

function stop(){
clearTimeout(timer1);
clearTimeout(timer2);
clearTimeout(timer3);
}

function resz(){
h=window.innerHeight;
w=window.innerWidth;
if (updwn)
timer1=setTimeout('up()',1000)
else
timer2=setTimeout('down()',1000)
}

function breakf(){
if (status){
clearTimeout(timer1);
clearTimeout(timer2);
status=false
return;
}
else{
status=true;
if (updwn)
timer1=setTimeout('up()',dt)
else
timer2=setTimeout('down()',dt)
}
}


function up(){
if (red<hred){
if ((red+7)<hred)
red+=7;
else
red=hred
redx = convert[red]
}
else{
if ((red-7)>hred)
red-=7;
else
red=hred
redx = convert[red]
}

if (green<hgreen){
if ((green+7)<hgreen)
green+=7;
else
green=hgreen
greenx = convert[green]
}
else{
if ((green-7)>hgreen)
green-=7;
else
green=hgreen
greenx = convert[green]
}

if (blue<hblue){
if ((blue+7)<hblue)
blue+=7;
else
blue=hblue
bluex = convert[blue]
}
else{
if ((blue-7)>hblue)
blue-=7;
else
blue=hblue
bluex = convert[blue]
}

rgb = "#"+redx+greenx+bluex;
if (brows){
document.layers['textanim'].document.linkColor=rgb;
document.layers['textanim'].document.vlinkColor=rgb;
if (window.innerHeight!=h || window.innerWidth!=w){
clearTimeout(timer1);
resz()
return;
}
else{
document.layers['textanim'].document.write('<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>')
document.layers['textanim'].document.close();
}
}
else{
textanim.style.color=rgb;
if(link)
textanimlink.style.color=rgb;
}
if (z<38){
if (brows)
document.layers['textanim'].top--
else
textanim.style.posTop--
z++
timer1=setTimeout('up()',dt)
}
else
{
updwn=false;
down()
}
}


function down(){
if (red<ered){
if ((red+7)<ered)
red+=7;
else
red=ered
redx = convert[red]
}
else{
if ((red-7)>ered)
red-=7;
else
red=ered
redx = convert[red]
}

if (green<egreen){
if ((green+7)<egreen)
green+=7;
else
green=egreen
greenx = convert[green]
}
else{
if ((green-7)>egreen)
green-=7;
else
green=egreen
greenx = convert[green]
}

if (blue<eblue){
if ((blue+7)<eblue)
blue+=7;
else
blue=eblue
bluex = convert[blue]
}
else{
if ((blue-7)>eblue)
blue-=7;
else
blue=eblue
bluex = convert[blue]
}

rgb = "#"+redx+greenx+bluex;
if (brows){
document.layers['textanim'].document.linkColor=rgb;
document.layers['textanim'].document.vlinkColor=rgb;
if (window.innerHeight!=h || window.innerWidth!=w){
clearTimeout(timer2);
resz()
return;
}
else{
document.layers['textanim'].document.write('<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>')
document.layers['textanim'].document.close();
}
}
else{
textanim.style.color=rgb;
if(link)
textanimlink.style.color=rgb;
}

if (z<76){
if (brows)
document.layers['textanim'].top--
else
textanim.style.posTop--
z++
timer2=setTimeout('down()',dt)
}
else
{
if (brows){
document.layers['textanim'].document.write('')
document.layers['textanim'].document.close();
}
else
textanim.innerHTML='';
window.clearInterval(timer2);
if(msg<message.length-1){
msg++;
z=0;
if (brows){
document.layers['textanim'].top=res;
}
else
textanim.style.top=res;
timer3=setTimeout('start()',100);
}
else
{
msg=0;
z=0;
if (brows)
document.layers['textanim'].top=res;
else
textanim.style.top=res;

// Zeit bis zum Neustart des Faders, 1000 = 1 Sekunde

timer3=setTimeout('start()',2000);
}
}
}
//-->
</Script>
</head>

<body bgcolor="#000000">
<p><div id="textanim" style="position: absolute; left: 10; top: 100"></div>
<layer name="textanim" left="10" top="100"></layer></p>
</body>
</html>

Mein Eintrag im externen .css

Code:
.textanimlink {
text-decoration : none;
}
P.main { font: 13px Verdana, Arial, Helvetica;
}


In einer Tabelle per iframe auf anderer Seite eingebunden:

HTML:
<td width="466" valign="bottom">
	<iframe src="indexfader.htm" frameborder="0" scrolling="no" align="top" height="180" width="466">
	    <p>Achtung: Diese Inhalte k&ouml;nnen nicht angezeigt werden,<br> weil Ihr Browser keine IFrames unterst&uuml;tzt.</p>
           </iframe>
   </td>


Grüßle aus dem Schwobaland

Lulu2
 
Diese Browserweichen nach Abfrage von Browsername/Browserversion sind recht unpraktisch. Anstatt zu fragen, wie ein Browser heisst, frage lieber, was er kann...das ist es ja, was für JS entscheidend ist.

Hier mal nen kleines Beispiel:
Code:
//DOM-fähige Browser
DOM = document.getElementById;

//OPERA
OPA = window.opera;

//IE
IE  = document.all && !OPA;

//IE>Version4
IE5 = IE && DOM;

//Gecko-Browser
MOZ = DOM && window.sidebar;

//Netscape4
NN  = document.layers;
 

Neue Beiträge

Zurück