Elpatri
24/02/05, 02:14
Hoi webmensen,
Ik heb een probleem met een javascript.
Het script is een nieuws scroller horizontaal.
Het script werkt in 9 van de 10 sites zonder problemen, mits ik daar geen flash in het zitten.
Ik heb het script al in een Iframe gezet, maar dat maakt ook niet uit.
Wat het fout doet is :
Hij scrollt van rechts naar links, maar zodra hij links aan het eind komt
begint hij opnieuw.
Dit heeft ie niet altijd.
Als ik het flash menu weghaal is het ook verholpen, maar dat zit nou eenmaal in de layout.
Ik heb nu tijdelijk een marque tag erin gezet maar die ziet er niet zo mooi uit.
Hieronder volgt het javacript.
Zou top zijn als iemand me kan vertellen wat het probleem zou kunnen zijn, of waar ik moet gaan zoeken.
Alvast bedankt :
<script language="JavaScript1.2">
//Specify the marquee's width (in pixels)
var marqueewidth=417
//Specify the marquee's height
var marqueeheight=19
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=2
//configure background color:
var marqueebgcolor=""
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=1
$scrolldata = '<?=$scroll?>'
//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>' + $scrolldata + '</nobr>'
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:-100;left:-2000">'+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=marqueewidth+8
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? cross_marquee.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee 2
ns_marquee.left=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.st yle.left)-copyspeed
else
cross_marquee.style.left=marqueewidth+8
}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=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:0;top:0"></div>')
write('</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>
Ik heb een probleem met een javascript.
Het script is een nieuws scroller horizontaal.
Het script werkt in 9 van de 10 sites zonder problemen, mits ik daar geen flash in het zitten.
Ik heb het script al in een Iframe gezet, maar dat maakt ook niet uit.
Wat het fout doet is :
Hij scrollt van rechts naar links, maar zodra hij links aan het eind komt
begint hij opnieuw.
Dit heeft ie niet altijd.
Als ik het flash menu weghaal is het ook verholpen, maar dat zit nou eenmaal in de layout.
Ik heb nu tijdelijk een marque tag erin gezet maar die ziet er niet zo mooi uit.
Hieronder volgt het javacript.
Zou top zijn als iemand me kan vertellen wat het probleem zou kunnen zijn, of waar ik moet gaan zoeken.
Alvast bedankt :
<script language="JavaScript1.2">
//Specify the marquee's width (in pixels)
var marqueewidth=417
//Specify the marquee's height
var marqueeheight=19
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=2
//configure background color:
var marqueebgcolor=""
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=1
$scrolldata = '<?=$scroll?>'
//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>' + $scrolldata + '</nobr>'
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:-100;left:-2000">'+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=marqueewidth+8
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? cross_marquee.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee 2
ns_marquee.left=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.st yle.left)-copyspeed
else
cross_marquee.style.left=marqueewidth+8
}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=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:0;top:0"></div>')
write('</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>