PDA

Bekijk Volledige Versie : Vraag over Javascript en Flash



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>

jeroen_123
25/02/05, 04:26
Helemaal niemand een idee....dat is jammer, ik had het ook graag geweten

ardjan
25/02/05, 15:08
Geen oplossing maar misschien kun je een vergelijkbaar script op internet vinden dat wel werkt...

Elpatri
26/02/05, 13:31
Anders script heb ik nog niet kunnne vinden.

Maar weet iemand een andere oplossing voor
<marguee>
of
weet iemand een flash script dat dat kan ??

Alvast bedankt,.

XS-24
26/02/05, 14:10
www.webmastercity.nl of iets in die zin, het is hier een hosting forum.

Elpatri
03/03/05, 04:02
Euh nou XS-24

Ik denk dat jij een bril moet kopen,
ik zie toch heel duidelijk boven in de pagina de volgende navigatie regel staan :
webhostingtalk.nl > Hoofd Categorie > Scripting, Techniek & Beveiliging >

En Scripting, Techniek & Beveiliging daar gaat mijn vraag over.

Dus ben het niet met je reacite eens,

Zuidberg
03/03/05, 13:04
Heb je niet toevallig meerdere JavaScripts op je site? Ze willen elkaar nog wel eens in de weg lopen... :)

Of kun je niet gemakkelijker gewoon zoiets doen: <marquee height="19" width="417">Blablabla...</marquee>?

Zulke scrollers zijn ook prima in Flash te maken. Je zegt dat je een Flash menu hebt, dus dan zul je vast ook wel een scroller kunnen maken.

roland
03/03/05, 13:56
ik zie toch heel duidelijk boven in de pagina de volgende navigatie regel staan :
webhostingtalk.nl > Hoofd Categorie > Scripting, Techniek & Beveiliging >


Ik zie toch heel duidelijk webhostingtalk in de domeinnaam staan.
Wat XS bedoeld is het volgende, vragen met betrekking tot script/programmer problemen. Denk hier aan .htaccess bv. Niet aan javascriptjes.


Hij scrollt van rechts naar links, maar zodra hij links aan het eind komt
begint hij opnieuw.

Wat moet het wel doen dan?
Van links naar rechts, dan weer van rechts naar links? Van links naar rechts dan stoppen? van links naar rechts dan halverwege terug naar links en dan ronddraaien?


http://www.google.nl/search?hl=nl&q=horizontal+scroller+javascript&lr=
http://gathering.tweakers.net
http://www.javascripts.com
http://www.dhtmlcentral.com

ExOrDuS
03/03/05, 22:13
en anders staan er hier ook nog wel een paar..

http://home.wanadoo.nl/java.script/