I've been able to get the cross browser scrolling marquee to work and it is nice and smooth, but it automatically refreshes itself too soon. It never gets to the end of the text.

The text is RSS feed and is a few thousand characters in length. The size of the web page is 1920x1080 because it will eventually be deployed to a Digital Screen. Right now I am testing in IE 7.

I suspect the instruction below is the culprit, but I don't know how to fix it.

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";
}

I'm just taking a guess here, but it seems that maybe we need to know the actual length in pixels of the HTML text (based on font size, etc.).

Another question that I have is whether or not the cross browser marquee script is designed for short messages, or can it be used for really long messages such as RSS feeds?

Below is my aspx page, and thanks for all your help.

<%@ Page
Language="C#"
AutoEventWireup="true"
CodeBehind="DigitalMarquee.aspx.cs"
Inherits="Test.Webservices.CfdDocuments.DigitalMarquee" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Test Page</title>
<link id="styleSheet" type="text/css" rel="stylesheet" href="../App_Themes/eDelivery/digitalSign.css" />
<style id="Style1" runat="server" type="text/css">
.td_text
{
color: #cc6666;
font-family: Times New Roman;
white-space:nowrap;
font-size: 38px;
font-weight: bold;
}
</style>
<script type="text/JavaScript">
<!--
function pageReload(elapsedTime)
{
setTimeout("location.reload(true);", elapsedTime);
}
// -->
</script>
<script type="text/javascript" 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="1920px"
//Specify the marquee's height
var marqueeheight="100px"
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=2
//configure background color:
var marqueebgcolor="#ffffff"
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=0

//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 = 'This default message gets replaced with a huge RSS feed text by the code behind page'


////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()", 10)
}
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 class="td_text">')
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>
</head>
<body onload="JavaScriptageReload(3600000);">
<form id="frmMain" runat="server">
</form>
</body>
</html>