Avatar billede foxmulder58 Praktikant
30. maj 2005 - 16:14 Der er 8 kommentarer og
1 løsning

Problemer med dynamisk menu med nyheder i?

hej Eksperter,

jeg har et script som jeg tyvstjålet fra en webside!

Problemet er at den 4 arrays hvori jeg kan indtaste linket og navngive linket med den nyhed jeg har.

Det gør den også 4 gange men derefter angiver den bare ordene "undefined" og jeg kan ikke gennenskue dette script!

scriptet btw lovligt at benytte (no copyright!)


scriptet kan ses på:

www.netausupport.frac.dk



// --> script kode er her:


script type="text/javascript">



//configure the below five variables to change the style of the scroller
var scrollerdelay='3000' //delay between msg scrolls. 3000=3 seconds.
var scrollerwidth='130px'
var scrollerheight='105px'
var scrollerbgcolor='grey'
//set below to '' if you don't wish to use a background image
var scrollerbackground='scrollerback.gif'

//configure the below variable to change the contents of the scroller
var messages=new Array()
messages[0]="<font face='Arial'><a href='http://www.netau.dk'>Ny brochure for Akademiuddannelserne</a></font>"
messages[1]="<font face='Arial'><a href='http://javascriptkit.com'>Visit JavaScriptKit for award winning JavaScript tutorials</a></font>"
messages[2]="<font face='Arial'><a href='http://www.codingforums.com'>Get help on scripting and web development. Visit CodingForums.com!</a></font>"
messages[3]="<font face='Arial'><a href='http://www.freewarejava.com'>Looking for Free Java applets? Visit Freewarejava.com!</a></font>"
messages[4]="<font face='Arial'><a href='http://dynamicdrive.com/link.htm'>If you find this script useful, please click here to link back to Dynamic Drive!</a></font>"

///////Do not edit pass this line///////////////////////

var ie=document.all
var dom=document.getElementById

if (messages.length>2)
i=2
else
i=0

function move(whichdiv){
tdiv=eval(whichdiv)
if (parseInt(tdiv.style.top)>0&&parseInt(tdiv.style.top)<=5){
tdiv.style.top=0+"px"
setTimeout("move(tdiv)",scrollerdelay)
setTimeout("move2(second2_obj)",scrollerdelay)
return
}
if (parseInt(tdiv.style.top)>=tdiv.offsetHeight*-1){
tdiv.style.top=parseInt(tdiv.style.top)-5+"px"
setTimeout("move(tdiv)",50)
}
else{
tdiv.style.top=parseInt(scrollerheight)+"px"
tdiv.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function move2(whichdiv){
tdiv2=eval(whichdiv)
if (parseInt(tdiv2.style.top)>0&&parseInt(tdiv2.style.top)<=5){
tdiv2.style.top=0+"px"
setTimeout("move2(tdiv2)",scrollerdelay)
setTimeout("move(first2_obj)",scrollerdelay)
return
}
if (parseInt(tdiv2.style.top)>=tdiv2.offsetHeight*-1){
tdiv2.style.top=parseInt(tdiv2.style.top)-5+"px"
setTimeout("move2(second2_obj)",50)
}
else{
tdiv2.style.top=parseInt(scrollerheight)+"px"
tdiv2.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function startscroll(){
first2_obj=ie? first2 : document.getElementById("first2")
second2_obj=ie? second2 : document.getElementById("second2")
move(first2_obj)
second2_obj.style.top=scrollerheight
second2_obj.style.visibility='visible'
}

if (ie||dom){
document.writeln('<div id="main2" style="position:relative;width:'+scrollerwidth+';height:'+scrollerheight+';overflow:hidden;background-color:'+scrollerbgcolor+' ;background-image:url('+scrollerbackground+')">')
document.writeln('<div style="position:absolute;width:'+scrollerwidth+';height:'+scrollerheight+';clip:rect(0 '+scrollerwidth+' '+scrollerheight+' 0);left:0px;top:0px">')
document.writeln('<div id="first2" style="position:absolute;width:'+scrollerwidth+';left:0px;top:1px;">')
document.write(messages[0])
document.writeln('</div>')
document.writeln('<div id="second2" style="position:absolute;width:'+scrollerwidth+';left:0px;top:0px;visibility:hidden">')
document.write(messages[dyndetermine=(messages.length==1)? 0 : 1])
document.writeln('</div>')
document.writeln('</div>')
document.writeln('</div>')
}

if (window.addEventListener)
window.addEventListener("load", startscroll, false)
else if (window.attachEvent)
window.attachEvent("onload", startscroll)
else if (ie||dom)
window.onload=startscroll

</script>




mvh
Mads
Avatar billede psykochicken Nybegynder
30. maj 2005 - 18:55 #1
Du har både en <body onload="syncronizeDivs()"> og i scroller-scriptet en window.onload=startscroll. 2 gange onload er en for meget ;)
Prøv at lade <body onload=.....> starte begge funktioner i stedet.
Ex: <body onload="startscroll(); syncronizeDivs()"> :)
Avatar billede foxmulder58 Praktikant
30. maj 2005 - 19:07 #2
nej desværre..hjalp ikke,

kender du en hjemmeside for jeg finder en Javascript kode til at lave en magen til??

mvh
Mads
Avatar billede olebole Juniormester
30. maj 2005 - 20:53 #3
<ole>

Jamen, scriptet virker fint. Der er et eller andet i resten af din kode, der overskriver dit array (eller en af dine funktioner) ... det kunne f.eks. være menuen, der måske bruger noget innerHTML et sted.

Dels er brug af innerHTML sjældent synderlig godt kompatibel med avanceret JavaScripting, dels er det en god idé at lægge sine scripts op i head'en, så de ikke så let kan overskrives.

Den sidste onload-handler, du har i dokumentet, overskriver alle andre. Så er det ligegyldigt, om de ligger i body-tag'et eller er skrevet i JS-koden. Derfor afvikles din 'syncronizeDivs' ikke med mindre, du gør som psykochicken skriver. Det er absolut nødvendigt  :)

Kik i øvrigt din kode igennem. Ting som disse er vist ikke ligefrem valid kode  ;o)
  </script>
  </style>

- eller: <p/>

/mvh
</bole>
Avatar billede foxmulder58 Praktikant
31. maj 2005 - 12:43 #4
mener du scriptet i den nyhedsting eller i mit HTML dokument?

mvh
mads
Avatar billede psykochicken Nybegynder
01. juni 2005 - 14:07 #5
Det er generelt en god idé at køre sin kode gennem en validator før man tester - der sniger sig næsten altid et par fejl ind ;)
Men din nyhedsting kører fint, hvis du slår din syncronizeDivs fra....men den skal du jo nok bruge.
Måske kan du bruge en applet ala http://javaboutique.internet.com/Ticker/
Avatar billede foxmulder58 Praktikant
05. juni 2005 - 13:04 #6
----- >psychochicken!

Hvordan retter jeg i farven får den Java Ticker(som du gav mig linket på i det foregående indlæg)...jeg kan ikke rigtigt gennemskue den!


mvh
Mads
Avatar billede foxmulder58 Praktikant
13. juni 2005 - 13:46 #7
luk! jeg tror ikke der komme flere løsninger her!


mvh
Mads
Avatar billede foxmulder58 Praktikant
13. juni 2005 - 13:46 #8
luk!
Avatar billede psykochicken Nybegynder
23. juni 2005 - 10:59 #9
Undskyld....havde lige glemt dig. ved godt du har lukket spørgsmålet, men du får lige svar på dit spørgsmål aligevel.
Disse 4 linier angiver farve på rektangler og tekst.
<param name=irect value="88AAFF">
<param name=orect value="000000">
<param name=ntext value="000000">
<param name=htext value="FF0000">
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