Autor Zpráva
Sante
Profil *
Omlouvám se, s JS moc neumím. Potřeboval jsem jednoduchý měnící text, podle JPW jsem si napsal tento JS, ale ve stránce v FF nejde, v IE jo, nakonec jsem přišel na to, že když smažu DOCTYPE, tak jde i v FF, při DOCTYPE html 4.01 funguje i ve FF. Proč? Jak to udělat aby mu xhtml DOCTYPE nevadil? Díky


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/css; charset=windows-1250" />
<title>nazev</title>
</head>

<body>
<div class="popis">
<script>
pole=new Array //definice jednotlivých policek animace
pole[0]="... 1 ..."
pole[1]="... 2 ..."
pole[2]="... 3..."

a=-1
function f(){
a++
if(a>pole.length-1) a=0;

document.all.banner.innerHTML=pole[a];
window.setTimeout("f();",1000)
}
window.onload = f;

document.write('<div id="banner" style="display: block; text-align: center; overflow: hidden"></div>');
</script>
<noscript>neni JS</noscript>
</div>

</body>
</html>
zdeněk
Profil *
Problém je asi v tom, document.all. Možná by pomohlo dát místo
document.all.banner.innerHTML=pole[a]; 

toto
var banner_obj=document.all? document.all.banner : document.getElementById("banner")

banner_obj.innerHTML=pole[a];
Chamurappi
Profil
Reaguji na Sante:
Místo document.all.banner dej document.getElementById("banner"), to stačí. Netřeba podmiňovat.

Chtěl bych podotknout, že vznik problému nezapříčinila proměna HTML v XHTML, ale změna vykreslovacího režimu. Nehledě na <!doctype> stále používáš HTML. Vše, co žádá XHTML navíc oproti HTML, prohlížeče ignorují. Doporučuji proto změnit <!doctype> na stručnější variantu:
<!doctype html>
Sante
Profil *
Děkuju oběma za rady, vyřešeno.

Chamurappi:
díky i za upozornění na doctype, něco si o tomto určitě najdu a přečtu!!

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: