hi,
hab mir gestern mal den url ticker aus der bib gezogen und muss leider feststellen, wenn ich in der seite einen doctype drin habe, er leider nur im ie, aber nicht im ff funktioniert.
danach habe ich es mit einem anderen ähnlichen script von dynamic drive versucht. hier sehe ich zumindest meinen tickerbereich in beiden browsern, es werden aber keine daten aus der db gezogen.
seh momentan den wald vor lauter bäumen nicht mehr.
evtl. jemand nen rat?
markus
####### funktioniert nur im IE oder im FF ohne doctype ##################
<perl>{
get "Id=$Id sort=-Datum","news";
$tickerTEXT=" . . . ";
while (get_next("news"))
{
my $name=($Titel ? "<b>$Titel </b>" : "<b>anonym</b>");
$tickerTEXT.="<font face=\"verdana,arial,helvetica\" size=\"2\" color=\"#ffffff\"><li><a href=\"http://www....\" onclick=\"FensterOeffnen(this.href); return false\">$Titel</a></li></font> . . . ";
}
out <<EOF;
<script language="JavaScript1.2">
<!--
//Specify the marquee's width and height (in pixels)
var marqueewidth=660
var marqueeheight=18
//Specify the marquee's scroll speed (larger is faster)
var speed=6
//Specify the marquee contents
var marqueecontents='$tickerTEXT'
if (document.all)
document.write('<marquee align=middle scrollAmount='+speed+' style="width:'+marqueewidth+'">'+marqueecontents+'</marquee>')
function regenerate()
{
window.location.reload()
function regenerate2()
{
if (document.layers)
{
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
function intializemarquee()
{
document.cmarquee01.document.cmarquee02.document.write('<nobr> '+marqueecontents+'</nobr>')
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.width
scrollit()
function scrollit()
{
if (document.cmarquee01.document.cmarquee02.left>=thelength*(-1))
{
document.cmarquee01.document.cmarquee02.left-=speed
setTimeout("scrollit()",100)
document.cmarquee01.document.cmarquee02.left=marqueewidth
scrollit()
window.onload=regenerate2
//-->
</script><ilayer width=&{marqueewidth}; height=&{marqueeheight}; name="cmarquee01"><layer name="cmarquee02"></layer></ilayer>
EOF
}
</perl>
############# funzt in IE & FF, zieht aber keine daten aus db #########
<perl>{
get "Id==* sort=-Datum","news";
$tickerTEXT=" NEWS ";
while (get_next("news"))
{
my $name=($name ? "<b>$Titel </b>" : "$Titel");
$tickerTEXT.="<li><a href=\"http://www......\">$Titel </a></li> . . . ";
}
out <<EOF;
<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>$tickerTEXT</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>
EOF
}
</perl>