yenmei
asked on
JavaScript rotating pictures and scrolling box
Hello,
My rotating images on the right (written in javascript) stopped working after I added the newsletter box (also written in javascript) on the left.
Here is my code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<basefont face = "arial">
<body onLoad = "movePictures()">
<table width = "100%" bgcolor = "ecedb3" border = "1" cellpadding="2"
cellspacing="0">
<tr>
<td valign = "abstop">
<table width = "170" border = "1" cellpadding="0"
cellspacing="0">
<tr><td bgcolor = "black"><font color = "white" size =
"-1">Newsletters</font></t d></tr>
<tr><td>
<script language="javascript">
var scrollerwidth="170"
var scrollerheight="450"
var scrollerspeed="1";
var scrollercontent="<font size='-1'>Lots of scrolling
content here...</font>"
var pauseit=1
scrollerspeed=(document.al l)? scrollerspeed :
Math.max(1, scrollerspeed-1) //slow speed down by 1 for NS
var copyspeed=scrollerspeed
var iedom=document.all||docume nt.getElem entById
var actualheight=''
var cross_scroller, ns_scroller
var pausespeed=(pauseit==0)? copyspeed: 0
function populate(){
if (iedom){
cross_scroller=document.ge tElementBy Id?
document.getElementById("i escroller" ) : document.all.iescroller
cross_scroller.style.top=p arseInt(sc rollerheig ht)+8+"px"
cross_scroller.innerHTML=s crollercon tent
actualheight=cross_scrolle r.offsetHe ight
}
else if (document.layers){
ns_scroller=document.ns_sc roller.doc ument.ns_s croller2
ns_scroller.top=parseInt(s crollerhei ght)+8
ns_scroller.document.write (scrollerc ontent)
ns_scroller.document.close ()
actualheight=ns_scroller.d ocument.he ight
}
lefttime=setInterval("scro llscroller ()",20)
}
window.onload=populate
function scrollscroller(){
if (iedom){
if
(parseInt(cross_scroller.s tyle.top)> (actualhei ght*(-1)+8 ))
cross_scroller.style.top=p arseInt(cr oss_scroll er.style.t op)-copysp eed+"px"
else
cross_scroller.style.top=p arseInt(sc rollerheig ht)+8+"px"
}
else if (document.layers){
if (ns_scroller.top>(actualhe ight*(-1)+ 8))
ns_scroller.top-=copyspeed
else
ns_scroller.top=parseInt(s crollerhei ght)+8
}
}
if (iedom||document.layers){
with (document){
if (iedom){
write('<div
style="position:relative;w idth:'+scr ollerwidth +';height: '+scroller height+';o
verflow:hidden" onMouseover="copyspeed=pau sespeed"
onMouseout="copyspeed=scro llerspeed" >')
write('<div id="iescroller"
style="position:absolute;l eft:0px;to p:0px;widt h:100%;">' )
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+scrollerwidth+'
height='+scrollerheight+' name="ns_scroller">')
write('<layer name="ns_scroller2"
width='+scrollerwidth+' height='+scrollerheight+' left=0 top=0
onMouseover="copyspeed=pau sespeed"
onMouseout="copyspeed=scro llerspeed" ></layer>' )
write('</ilayer>')
}
}
}
</script>
</td></tr>
</table>
</td>
.
.
.
<td valign = "abstop">
<table width = "225" border = "1" cellpadding="0" cellspacing="0">
<tr><td>
<script language = "javascript">
var banner = new Array("images/network_web. gif",
"images/ugs_web.gif", "images/nlos-c_web.gif", "images/nlos-ls_web.gif" );
var imgIndex = -1;
function movePictures() {
imgIndex ++;
if (imgIndex > banner.length - 1) {
imgIndex = 0;
}
window.document.images[0]. src = banner[imgIndex];
setTimeout("movePictures() ;", 2000);
}
</script>
<img src = "images/network_web.gif">< br>
</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
My rotating images on the right (written in javascript) stopped working after I added the newsletter box (also written in javascript) on the left.
Here is my code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<basefont face = "arial">
<body onLoad = "movePictures()">
<table width = "100%" bgcolor = "ecedb3" border = "1" cellpadding="2"
cellspacing="0">
<tr>
<td valign = "abstop">
<table width = "170" border = "1" cellpadding="0"
cellspacing="0">
<tr><td bgcolor = "black"><font color = "white" size =
"-1">Newsletters</font></t
<tr><td>
<script language="javascript">
var scrollerwidth="170"
var scrollerheight="450"
var scrollerspeed="1";
var scrollercontent="<font size='-1'>Lots of scrolling
content here...</font>"
var pauseit=1
scrollerspeed=(document.al
Math.max(1, scrollerspeed-1) //slow speed down by 1 for NS
var copyspeed=scrollerspeed
var iedom=document.all||docume
var actualheight=''
var cross_scroller, ns_scroller
var pausespeed=(pauseit==0)? copyspeed: 0
function populate(){
if (iedom){
cross_scroller=document.ge
document.getElementById("i
cross_scroller.style.top=p
cross_scroller.innerHTML=s
actualheight=cross_scrolle
}
else if (document.layers){
ns_scroller=document.ns_sc
ns_scroller.top=parseInt(s
ns_scroller.document.write
ns_scroller.document.close
actualheight=ns_scroller.d
}
lefttime=setInterval("scro
}
window.onload=populate
function scrollscroller(){
if (iedom){
if
(parseInt(cross_scroller.s
cross_scroller.style.top=p
else
cross_scroller.style.top=p
}
else if (document.layers){
if (ns_scroller.top>(actualhe
ns_scroller.top-=copyspeed
else
ns_scroller.top=parseInt(s
}
}
if (iedom||document.layers){
with (document){
if (iedom){
write('<div
style="position:relative;w
verflow:hidden" onMouseover="copyspeed=pau
onMouseout="copyspeed=scro
write('<div id="iescroller"
style="position:absolute;l
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+scrollerwidth+'
height='+scrollerheight+' name="ns_scroller">')
write('<layer name="ns_scroller2"
width='+scrollerwidth+' height='+scrollerheight+' left=0 top=0
onMouseover="copyspeed=pau
onMouseout="copyspeed=scro
write('</ilayer>')
}
}
}
</script>
</td></tr>
</table>
</td>
.
.
.
<td valign = "abstop">
<table width = "225" border = "1" cellpadding="0" cellspacing="0">
<tr><td>
<script language = "javascript">
var banner = new Array("images/network_web.
"images/ugs_web.gif", "images/nlos-c_web.gif", "images/nlos-ls_web.gif" );
var imgIndex = -1;
function movePictures() {
imgIndex ++;
if (imgIndex > banner.length - 1) {
imgIndex = 0;
}
window.document.images[0].
setTimeout("movePictures()
}
</script>
<img src = "images/network_web.gif"><
</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
The problem was the onload events conflicting.
You're overwriting the onload handler, so that movePictures() is never called. Remove this line:
window.onload=populate
and then change the body tag to this:
<body onLoad="movePictures(); populate();">
That should guarantee you call both functions, and should get you back on track. Hope that helps.
window.onload=populate
and then change the body tag to this:
<body onLoad="movePictures(); populate();">
That should guarantee you call both functions, and should get you back on track. Hope that helps.
Sorry Stormy, I had a stale window. Didn't mean to re-post.