Avatar billede ballum-it Praktikant
07. februar 2011 - 14:22 Der er 4 kommentarer og
1 løsning

Javascript der konflikter med hinanden.

Jeg har en asp side med 2 javascripts.
Den ene viser uret og det andet har nyheder kørernde.

De kører fint alene, men er de begge på er der en konflikt et sted, for så vil uret ikke vises.

Kan nogen se, hvad der er galt?

[strong]Nyheder:[/strong]
<script language="JavaScript1.2">

/*
Cross browser Marquee script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com
Credit MUST stay intact
*/

//Specify the marquee's width (in pixels)
var marqueewidth="300px"
//Specify the marquee's height
var marqueeheight="25px"
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=2
//configure background color:
var marqueebgcolor="#DEFDD9"
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=1

//Specify the marquee's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):

var marqueecontent='<nobr><font face="Arial">Thank you for visiting <a href="http://www.dynamicdrive.com">Dynamic Drive.</a> If you find this script useful, please consider linking to us by <a href="../link.htm">click here.</a> Enjoy your stay!</font></nobr>'


////NO NEED TO EDIT BELOW THIS LINE////////////
marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+marqueecontent+'</span>')
var actualwidth=''
var cross_marquee, ns_marquee

function populate(){
if (iedom){
cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee2
ns_marquee.left=parseInt(marqueewidth)+8
ns_marquee.document.write(marqueecontent)
ns_marquee.document.close()
actualwidth=ns_marquee.document.width
}
lefttime=setInterval("scrollmarquee()",20)
}
window.onload=populate

function scrollmarquee(){
if (iedom){
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px"
else
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"

}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=parseInt(marqueewidth)+8
}
}

if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+marqueewidth+';height:'+marqueeheight+';background-color:'+marqueebgcolor+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
write('<div id="iemarquee" style="position:absolute;left:0px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee" bgColor='+marqueebgcolor+'>')
write('<layer name="ns_marquee2" left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script>




[strong]Uret:[/strong]
<script type=\"text/javascript\">
function show(){
if (!document.all&&!document.getElementById)
return
thelement=document.getElementById? document.getElementById("tick"): document.all.tick
var Digital=new Date()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
var dn=""
if (hours < 24)
dn=""
if (hours > 24)
hours=hours-24
if (hours <= 9)
hours="0"+hours
if (hours==0)
hours=24
if (minutes <= 9)
minutes="0"+minutes
if (seconds <= 9)
seconds="0"+seconds
var ctime=hours+":"+minutes+""+dn
thelement.innerHTML="<em></em>"+ctime+"<em></em>"
setTimeout("show2()",1000)
}
window.onload=show;
</script>
Avatar billede -mundi- Nybegynder
07. februar 2011 - 14:40 #1
window.onload=populate; overskrives af window.onload=show;

Du skal enten have fat i addEventListener eller attachEvent.
Du kan også lave en function selv som kalder de 2 andre, lidt simplere men ikke så "pænt".

function loadStuff{
  populate();
  show();
}

window.onload = loadStuff;
Avatar billede ballum-it Praktikant
07. februar 2011 - 19:19 #2
Undskyld, men den forstår jeg ikke helt, Jo jeg er med på, at den sidste overskriver den første, men sætter jeg functionen loadStuff ind, vises intet længere.

"Du skal enten have fat i addEventListener eller attachEvent. " forstår jeg ikke :)

ja jeg skal have det med te-skeer :)
Avatar billede ballum-it Praktikant
07. februar 2011 - 21:11 #3
Fandt ud af det. Det var ganske rigtigt
window.onload=populate; overskrives af window.onload=show;

der var problemet.

Jeg flyttede det hele ned i det andet javascript tag  på selve siden.. og så kører begge dele som de skal.
Avatar billede ballum-it Praktikant
08. februar 2011 - 09:29 #4
Smider du et svar, så du kan få point?
Avatar billede ballum-it Praktikant
15. februar 2011 - 14:42 #5
Ingen svar :( - så jeg lukker.
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