i need to start the scroll from left side

i am using the folloing extension in joomla that run test in scroll
what i want is to make the scroll start from left not right as the default here
this is the code attached
<script type="text/javascript">
 
/***********************************************
* Memory Scroller script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
* adaption data http://www.web.renat.sk/  http://www.renat.sk/
***********************************************/
 
var memorywidth="<?php echo $width; ?>" //scroller width
var memoryheight="<?php echo $height; ?>" //scroller height
var memorybgcolor="<?php echo $bgcolor; ?>" //scroller background
var memorypadding="2px" //padding applied to the scroller. 0 for non.
var borderCSS="border: 0px solid black;" //Border CSS, applied to scroller to give border.
 
var memoryspeed="<?php echo $speed; ?>" //Scroller speed (larger is faster 1-10)
var pauseit="<?php echo $pause; ?>" //Pause scroller onMousever (0=no. 1=yes)?
 
var persistlastviewedmsg=1 //should scroller's position persist after users navigate away (1=yes, 0=no)?
var persistmsgbehavior="onload" //set to "onload" or "onclick".
 
//Specify the scroller's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
 
var memorycontent='<nobr><span style="font: bold <?php echo $fontsize; ?> Verdana"><?php echo $showtext; ?></span></nobr>'
 
 
////NO NEED TO EDIT BELOW THIS LINE////////////
var combinedcssTable="width:"+(parseInt(memorywidth)+6)+"px;background-color:"+memorybgcolor+";padding:"+memorypadding+";"+borderCSS+";"
var combinedcss="width:"+memorywidth+";height:"+memoryheight+";"
 
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
memoryspeed=(document.all)? memoryspeed : Math.max(1, memoryspeed-1) //slow speed down by 1 for NS
var copyspeed=memoryspeed
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;">'+memorycontent+'</span>')
var actualwidth=''
var memoryscroller
 
if (window.addEventListener)
window.addEventListener("load", populatescroller, false)
else if (window.attachEvent)
window.attachEvent("onload", populatescroller)
else if (document.all || document.getElementById)
window.onload=populatescroller
 
function populatescroller(){
memoryscroller=document.getElementById? document.getElementById("memoryscroller") : document.all.memoryscroller
memoryscroller.style.left=parseInt(memorywidth)+8+"px"
if (persistlastviewedmsg && get_cookie("lastscrollerpos")!="")
revivelastmsg()
memoryscroller.innerHTML=memorycontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
lefttime=setInterval("scrollmarquee()",20)
}
 
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
 
function savelastmsg(){
document.cookie="lastscrollerpos="+memoryscroller.style.left
}
 
function revivelastmsg(){
lastscrollerpos=parseInt(get_cookie("lastscrollerpos"))
memoryscroller.style.left=parseInt(lastscrollerpos)+"px"
}
 
if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg
 
function scrollmarquee(){
if (parseInt(memoryscroller.style.left)>(actualwidth*(-1)+8))
memoryscroller.style.left=parseInt(memoryscroller.style.left)-copyspeed+"px"
else
memoryscroller.style.left=parseInt(memorywidth)+8+"px"
}
 
if (iedom){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0" style="'+combinedcssTable+'"><td>')
write('<div style="position:relative;overflow:hidden;'+combinedcss+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=memoryspeed">')
write('<div id="memoryscroller" style="position:absolute;left:0px;top:0px;" '+divonclick+'></div>')
write('</div>')
document.write('</td></table>')
}
}
</script>

Open in new window

LVL 3
dr_lionheartAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bernard S.CTOCommented:
It seems that it happens in
function scrollmarquee(){
if (parseInt(memoryscroller.style.left)>(actualwidth*(-1)+8))
memoryscroller.style.left=parseInt(memoryscroller.style.left)-copyspeed+"px"
else
memoryscroller.style.left=parseInt(memorywidth)+8+"px"
}
-------------------------
and memoryscroller is initialized at lines 50-51
memoryscroller=document.getElementById? document.getElementById("memoryscroller") : document.all.memoryscroller
memoryscroller.style.left=parseInt(memorywidth)+8+"px"
-------------------------------------
I believe that 'memoryscroller.style.left' holds the left margin of the text (see line 98)
So I would test the effect of
function scrollmarquee(){
if( parseInt(memoryscroller.style.left)<8 )
memoryscroller.style.left=parseInt(memoryscroller.style.left)+copyspeed+"px"
else
memoryscroller.style.left=parseInt(actualwidth)-8+"px"
}
0
dr_lionheartAuthor Commented:
the text now is paused in one position
i need it to run from left to right
instead of right to left
thanks
0
Bernard S.CTOCommented:
OK, here is my revised code.

1 - Test it first as is on your machine, so that if you still have a problem I can procced working on this text.

2 - When it works, you can update your copy from this one:
-- do not copy the first lines, since I have placed constant content instead of the initial php echo
-- do not forget updating revivelastmsg which in some cass was cusing strange things
-- doubly check that all lines ending in with   +"px"   have a real integer before the + . This was the tricky part! use () and parseint in a paranoid way! in "my" vode, most of these have  been edited
<script type="text/javascript">
 
/***********************************************
* Memory Scroller script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
* adaption data http://www.web.renat.sk/  http://www.renat.sk/
***********************************************/
 
var memorywidth="700" //scroller width
var memoryheight="50" //scroller height
var memorybgcolor="#FF0" //scroller background
var memorypadding="2px" //padding applied to the scroller. 0 for non.
var borderCSS="border: 0px solid black;" //Border CSS, applied to scroller to give border.
 
var memoryspeed="2" //Scroller speed (larger is faster 1-10)
var pauseit="1" //Pause scroller onMousever (0=no. 1=yes)?
 
var persistlastviewedmsg=1 //should scroller's position persist after users navigate away (1=yes, 0=no)?
var persistmsgbehavior="onload" //set to "onload" or "onclick".
 
//Specify the scroller's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
 
var memorycontent='<nobr><span style="font: bold 14px Verdana">This is the test message I am using to test scrolling. It runs over several lines (but a single javascript file). Need to place &lt;br&gt; to force a line break<br>like here.</span></nobr>'
 
 
////NO NEED TO EDIT BELOW THIS LINE////////////
var combinedcssTable="width:"+(parseInt(memorywidth)+6)+"px;background-color:"+memorybgcolor+";padding:"+memorypadding+";"+borderCSS+";"
var combinedcss="width:"+memorywidth+";height:"+memoryheight+";"
 
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
memoryspeed=(document.all)? memoryspeed : Math.max(1, memoryspeed-1) //slow speed down by 1 for NS
var copyspeed=memoryspeed
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;">'+memorycontent+'</span>')
var actualwidth=''
var memoryscroller
 
if (window.addEventListener)
window.addEventListener("load", populatescroller, false)
else if (window.attachEvent)
window.attachEvent("onload", populatescroller)
else if (document.all || document.getElementById)
window.onload=populatescroller
 
function populatescroller(){
memoryscroller=document.getElementById? document.getElementById("memoryscroller") : document.all.memoryscroller
memoryscroller.style.left=(parseInt(memorywidth)+8)+"px"
if (persistlastviewedmsg && get_cookie("lastscrollerpos")!="")
revivelastmsg()
memoryscroller.innerHTML=memorycontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
lefttime=setInterval("scrollmarquee()",20)
}
 
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
 
function savelastmsg(){
document.cookie="lastscrollerpos="+memoryscroller.style.left
}
 
function revivelastmsg(){
lastscrollerpos=parseInt(get_cookie("lastscrollerpos"))
if (lastscrollerpos <0) lastscrollerpos=0
memoryscroller.style.left=lastscrollerpos+"px"
}
 
if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg
 
function scrollmarquee(){
if( parseInt(memoryscroller.style.left)< (1 + parseInt(memorywidth)) )
memoryscroller.style.left=(parseInt(memoryscroller.style.left)+parseInt(copyspeed))+"px"
else
memoryscroller.style.left="0"
}
 
if (iedom){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0" style="'+combinedcssTable+'"><td>')
write('<div style="position:relative;overflow:hidden;'+combinedcss+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=memoryspeed">')
write('<div id="memoryscroller" style="position:absolute;left:0px;top:0px;" '+divonclick+'></div>')
write('</div>')
document.write('</td></table>')
}
}
</script>

Open in new window

0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

dr_lionheartAuthor Commented:
the code now worked great
except for the start of the text it just appear as a whole then start to scroll
check it out here
http://alnajam.net/
thanks again
0
Bernard S.CTOCommented:
OK. I've made a small change which does improve quite a lot. Copy and paste into this "test version" at the right places. If OK, then update your work version. (note line 27 and the changes in the 2 functions)

Note: selecting the "leftmost position" at line 27 is somewhat arbitrary, because there is no way to know the real display width of 'memory content'. I've taken here the option that the display is roughly the same width than the box... but if the text is really more narrow the box would look empty for some time. Or, if it is wider than the box, the box will never look emprty (as is the case with my test text)
If the text you display is delivered from php with no frill, ie no extra html, then you could replace in most places  initialpos with something like (-<?php echo (strlen($showtxt)*10) ?>) assuming the average width character to 10px.


<script type="text/javascript">
 
/***********************************************
* Memory Scroller script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
* adaption data http://www.web.renat.sk/  http://www.renat.sk/
***********************************************/
 
var memorywidth="700" //scroller width
var memoryheight="50" //scroller height
var memorybgcolor="#FF0" //scroller background
var memorypadding="2px" //padding applied to the scroller. 0 for non.
var borderCSS="border: 0px solid black;" //Border CSS, applied to scroller to give border.
 
var memoryspeed="2" //Scroller speed (larger is faster 1-10)
var pauseit="1" //Pause scroller onMousever (0=no. 1=yes)?
 
var persistlastviewedmsg=1 //should scroller's position persist after users navigate away (1=yes, 0=no)?
var persistmsgbehavior="onload" //set to "onload" or "onclick".
 
//Specify the scroller's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
 
var memorycontent='<nobr><span style="font: bold 14px Verdana">This is the test message I am using to test scrolling. It runs over several lines (but a single javascript file). Need to place &lt;br&gt; to force a line break<br>like here.</span></nobr>'
 
var initialpos=(-parseInt(memorywidth)) // Tune for your need 
 
////NO NEED TO EDIT BELOW THIS LINE////////////
var combinedcssTable="width:"+(parseInt(memorywidth)+6)+"px;background-color:"+memorybgcolor+";padding:"+memorypadding+";"+borderCSS+";"
var combinedcss="width:"+memorywidth+";height:"+memoryheight+";"
 
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
memoryspeed=(document.all)? memoryspeed : Math.max(1, memoryspeed-1) //slow speed down by 1 for NS
var copyspeed=memoryspeed
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;">'+memorycontent+'</span>')
var actualwidth=''
var memoryscroller
 
if (window.addEventListener)
window.addEventListener("load", populatescroller, false)
else if (window.attachEvent)
window.attachEvent("onload", populatescroller)
else if (document.all || document.getElementById)
window.onload=populatescroller
 
function populatescroller(){
memoryscroller=document.getElementById? document.getElementById("memoryscroller") : document.all.memoryscroller
memoryscroller.style.left=(parseInt(memorywidth)+8)+"px"
if (persistlastviewedmsg && get_cookie("lastscrollerpos")!="")
revivelastmsg()
memoryscroller.innerHTML=memorycontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
lefttime=setInterval("scrollmarquee()",20)
}
 
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
 
function savelastmsg(){
document.cookie="lastscrollerpos="+memoryscroller.style.left
}
 
function revivelastmsg(){
lastscrollerpos=parseInt(get_cookie("lastscrollerpos"))
if (lastscrollerpos < initialpos) lastscrollerpos=initialpos
memoryscroller.style.left=lastscrollerpos+"px"
}
 
if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg
 
function scrollmarquee(){
if( parseInt(memoryscroller.style.left)< (1 + parseInt(memorywidth)) )
memoryscroller.style.left=(parseInt(memoryscroller.style.left)+parseInt(copyspeed))+"px"
else
memoryscroller.style.left=(initialpos)+'px'
}
 
if (iedom){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0" style="'+combinedcssTable+'"><td>')
write('<div style="position:relative;overflow:hidden;'+combinedcss+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=memoryspeed">')
write('<div id="memoryscroller" style="position:absolute;left:0px;top:0px;" '+divonclick+'></div>')
write('</div>')
document.write('</td></table>')
}
}
</script>

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dr_lionheartAuthor Commented:
thanks alot it worked
0
dr_lionheartAuthor Commented:
perfect
0
Bernard S.CTOCommented:
B-)) Glad it worked. Thx for the grade and points.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.