Stránka 1 z 1

Nefungující JavaScript

Napsal: úte 22. bře 2005, 20:44
od TomCZ
Ahoj, nedokázal by mi někdo poradit, proč mi nefunguje níže uvedený skript ? Kdysi jsem ho používal ateď už nějak nevím, jak jsem to rozběhal. Příklad by měl být zde, ale taky nějak nefunguje: http://www.jsmadeeasy.com/javascripts/S ... %20Script/

Pokud byste měli tip na něco podobného s možností linku, tak dejte, prosím, vědět.


<script language="JavaScript1.2">
var speed=3500

var news=new Array()
news[0]="<center><a href=''>Version 2.0</a></center>"
news[1]="<center><a href=''>Designed by</a></center>"
news[2]="<center><a href=''>TK</a></center>"
news[3]="<center><a href=''>and</a></center>"
news[4]="<center><a href='http//:www.xtg.cz'>XTG systems</a></center>"


i=0
if (document.all)
tickerobject=document.all.subtickertape.style
else
tickerobject=document.tickertape.document
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",450)
}

function update(){
BgFade(0xff,0xff,0xff, 0x00,0x00,0x00,10);
if (document.layers){
document.tickertape.document.subtickertape.document.write('<span class="subtickertapefont">'+news+'</span>')
document.tickertape.document.subtickertape.document.close()
}
else
document.all.subtickertape.innerHTML=news

if (i<news.length-1)
i++
else
i=0
setTimeout("update()",speed)
}

function BgFade(red1, grn1, blu1, red2,
grn2, blu2, steps) {
sred = red1; sgrn = grn1; sblu = blu1;
ered = red2; egrn = grn2; eblu = blu2;
inc = steps;
step = 0;
RunFader();
}
function RunFader() {
var epct = step/inc;
var spct = 1 - epct;
if (document.layers)
tickerobject.bgColor =
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
else
tickerobject.backgroundColor=
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
if ( step < inc ) {
setTimeout('RunFader()',50);
}
step++;
}
</script>

Napsal: úte 22. bře 2005, 22:27
od Lemra
Takhle to chodí v pohodě - nezapomněl jsi do head nakopírovat definici stylů, případně nenatahuješ styly z externího souboru, kterej není doplněn o níže uvedené definice?:

Kód: Vybrat vše

<html>
<head>
<style>
<!--

#tickertape{
position:relative;

layer-background-color:black;
width:400;
height:12;
}

#subtickertape{
background-color:black;
position:absolute;
border: 1px solid black;
width:400;
height:12;

}


.subtickertapefont{
font:bold 12px Verdana;
text-decoration:none;
color:white;
}

.subtickertapefont a{
color:white;
text-decoration:none;
}
-->
</style>
</head>
<body onload="if (document.all||document.layers) {regenerate2();update()}">

<div id="tickertape">
<div id="subtickertape" class="subtickertapefont">Initializing...</div>
</div>

<script language="JavaScript1.2">


//default speed is 4.5 seconds, Change that as desired
var speed=4500

var news=new Array()
news[0]="<a href='http://dynamicdrive.com'>Click here to go to Dynamic Drive's front page</a>"
news[1]="<a href='http://wsabstract.com'>Visit Website Abstraction for free JavaScripts!</a>"
news[2]="<a href='http://freewarejava.com'>Looking for free java applets? Click here.</a>"
//expand or shorten this list of messages as desired

i=0
if (document.all)
tickerobject=document.all.subtickertape.style
else
tickerobject=document.tickertape.document
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",450)
}

function update(){
 BgFade(0xff,0xff,0xff, 0x00,0x00,0x00,10);
if (document.layers){
document.tickertape.document.subtickertape.document.write('<span class="subtickertapefont">'+news[i]+'</span>')
document.tickertape.document.subtickertape.document.close()
}
else 
document.all.subtickertape.innerHTML=news[i]

if (i<news.length-1)
i++
else
i=0
setTimeout("update()",speed)
}

 function BgFade(red1, grn1, blu1, red2,
 grn2, blu2, steps) {
 sred = red1; sgrn = grn1; sblu = blu1; 
 ered = red2; egrn = grn2; eblu = blu2; 
 inc = steps; 
 step = 0; 
 RunFader();
 }
 function RunFader() {
 var epct = step/inc; 
 var spct = 1 - epct; 
 if (document.layers)
 tickerobject.bgColor =
 Math.floor(sred * spct + ered *
 epct)*256*256 +
 Math.floor(sgrn * spct + egrn * epct)*256 +
 Math.floor(sblu * spct + eblu * epct); 
 else
 tickerobject.backgroundColor=
 Math.floor(sred * spct + ered *
 epct)*256*256 +
 Math.floor(sgrn * spct + egrn * epct)*256 +
 Math.floor(sblu * spct + eblu * epct); 
 if ( step < inc ) {
 setTimeout('RunFader()',50); 
 }
 step++;
 }
</script>
</body>
</html>

Napsal: stř 23. bře 2005, 07:08
od TomCZ
No, je pravda, že styly se mi myslím tahají s ext. souboru. Definici stránek jako takových mi připravilznámý, takže v tom nejsem úplně in, ale on mi nefunguje ani ten příklad na přiloženém linku. Objeví se mi jen "Initializing...", tak mne napadá, jestli není něco špatně na instlaci Javy na mém PC. Mám zde Java Plug-in 1.5.0_01 (Version 1.5.0 (build 1.5.0_01-b08)).

Napsal: stř 23. bře 2005, 08:12
od zombux
Javascript není Java ;-)

Napsal: stř 23. bře 2005, 09:05
od miho
V Opere

Kód: Vybrat vše

Version	7.54 u2 	
Build	955 	
Platform	Linux 	
System	x86_64, 2.6.11-gentoo-r4m4
mi ta verze od Lemry verze chodi ale ve firefoxu

Kód: Vybrat vše

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050306 Firefox/1.0.1
ne :(

JS konzole hlasi:

Kód: Vybrat vše

Error: document.tickertape has no properties
Source File: file:///home/miho/jspokus.html
Line: 59
+ je tam warning o pouziti document.all

Napsal: stř 23. bře 2005, 12:37
od TomCZ
Jééé, a umíte mi to někdo říct česky ? :D

Napsal: stř 23. bře 2005, 23:49
od cabman
česky skus http://builder.cz, kde je vymáklé fórum o programování.

Napsal: čtv 24. bře 2005, 08:49
od TomCZ
Diky, dobrý tip :D