Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Navigation bar and scrollbar won't work together

Status
Not open for further replies.

cactus1000

Programmer
Aug 31, 2001
149
US
I've posted this in the JavaScript forum, but maybe someone here can figure this out...

I have a navigation bar and a scrollbar that I've been using for some time, each in it's own frame. Everything was fine. Recently, I decided to scrap the frames and put these scripts in a table instead. However, when I add the scrollbar to the table, the navigation bar stops working. I tried a completely different scrollbar, and the result was the same. The error message for the navigation bar is "pulloutWindow not defined", yet this works fine as long as the scrollbar in not in the same file. I didn't see any duplicate variable or function names.

Here's the Navigation bar:

<script language=&quot;JavaScript&quot;>

<!--

image1 = new Image(130,36)

image1.src = &quot;blankbb11a.gif&quot;



image2 = new Image(130,36)

image2.src = &quot;administrationbb2.jpg&quot;



image3 = new Image(130,36)

image3.src = &quot;admissionsbb.jpg&quot;



image4 = new Image(130,36)

image4.src = &quot;alumnibb.jpg&quot;



image5 = new Image(130,36)

image5.src = &quot;facultybb.jpg&quot;



image6 = new Image(130,36)

image6.src = &quot;librarybb.jpg&quot;



image7 = new Image(130,36)

image7.src = &quot;studentsbb.jpg&quot;



image8 = new Image(130,36)

image8.src = &quot;calendarbb.jpg&quot;



//-->

</script>

<script language=&quot;JavaScript&quot; src=&quot;dynlayer.js&quot;></script>

<script language=&quot;JavaScript&quot;>

/**************************************************

This JavaScript code uses techniques found at

The Dynamic Duo -
**************************************************/

<!--



function init() {



pulloutWindow = new Array

for (var i=0;i<=8;i++) {



pulloutWindow = new DynLayer('pullout'+i+'Window')

pulloutWindow.slideInit()

}

pulloutActive = false

pulloutShown = 0

}

function pulloutStart(i) {

if (i!=pulloutShown) {

pulloutActive = true

pulloutWindow[pulloutShown].slideTo(-285,null,15,15,'pulloutEnd('+i+')')

}

}

function pulloutEnd(i) {

pulloutShown = i

pulloutWindow.slideTo(0,null,15,15,'pulloutActive==false')

}



//-->

</script>


Here's the scrollbar:

<html><title></title><head><head><title></title>

<style type=&quot;text/css&quot;>
.nonu {text-decoration:none;}
body {background-color:#307ca0}
a {color:#ffffff}

</style>










</head>
<body BGCOLOR=&quot;#307CA0&quot; text=&quot;#CFE1FB&quot; link=&quot;#CFE1FB&quot; vlink=&quot;#CFE1FB&quot;>

<br>

<script language=&quot;JavaScript1.2&quot;>

/*
Pausing updown message scroller-
Last updated: 99/07/05 (Bugs fixed, ability to specify background image for scroller)
(c) Dynamic Drive (For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

//configure the below five variables to change the style of the scroller
var scrollerwidth=130
var scrollerheight=450
var scrollerbgcolor='#307ca0'
//set below to '' if you don't wish to use a background image
var scrollerbackground=''

//configure the below variable to change the contents of the scroller
var messages=new Array()

messages[0]=&quot;Blah Blah&quot;
messages[1]=&quot;Blah Blah&quot;

///////Do not edit pass this line///////////////////////

if (messages.length>1)
i=2
else
i=0

function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.top>0&&tlayer.top<=5){
tlayer.top=0
setTimeout(&quot;move1(tlayer)&quot;,8000)
setTimeout(&quot;move2(document.main.document.second)&quot;,8000)
return
}
if (tlayer.top>=tlayer.document.height*-1){
tlayer.top-=5
setTimeout(&quot;move1(tlayer)&quot;,100)
}
else{
tlayer.top=scrollerheight
tlayer.document.write(messages)
tlayer.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.top>0&&tlayer2.top<=5){
tlayer2.top=0
setTimeout(&quot;move2(tlayer2)&quot;,8000)
setTimeout(&quot;move1(document.main.document.first)&quot;,8000)
return
}
if (tlayer2.top>=tlayer2.document.height*-1){
tlayer2.top-=5
setTimeout(&quot;move2(tlayer2)&quot;,100)
}
else{
tlayer2.top=scrollerheight
tlayer2.document.write(messages)
tlayer2.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move3(whichdiv){
tdiv=eval(whichdiv)
if (tdiv.style.pixelTop>0&&tdiv.style.pixelTop<=5){
tdiv.style.pixelTop=0
setTimeout(&quot;move3(tdiv)&quot;,8000)
setTimeout(&quot;move4(second2)&quot;,8000)
return
}
if (tdiv.style.pixelTop>=tdiv.offsetHeight*-1){
tdiv.style.pixelTop-=5
setTimeout(&quot;move3(tdiv)&quot;,100)
}
else{
tdiv.style.pixelTop=scrollerheight
tdiv.innerHTML=messages
if (i==messages.length-1)
i=0
else
i++
}
}

function move4(whichdiv){
tdiv2=eval(whichdiv)
if (tdiv2.style.pixelTop>0&&tdiv2.style.pixelTop<=5){
tdiv2.style.pixelTop=0
setTimeout(&quot;move4(tdiv2)&quot;,8000)
setTimeout(&quot;move3(first2)&quot;,8000)
return
}
if (tdiv2.style.pixelTop>=tdiv2.offsetHeight*-1){
tdiv2.style.pixelTop-=5
setTimeout(&quot;move4(second2)&quot;,100)
}
else{
tdiv2.style.pixelTop=scrollerheight
tdiv2.innerHTML=messages
if (i==messages.length-1)
i=0
else
i++
}
}

function startscroll(){
if (document.all){
move3(first2)
second2.style.top=scrollerheight
second2.style.visibility='visible'
}
else if (document.layers){
document.main.visibility='show'
move1(document.main.document.first)
document.main.document.second.top=scrollerheight+5
document.main.document.second.visibility='show'
}
}

window.onload=startscroll
window.onResize=startscroll

</script>




<ilayer id=&quot;main&quot; width=&{scrollerwidth}; height=&{scrollerheight}; bgColor=&{scrollerbgcolor}; background=&{scrollerbackground}; visibility=hide>
<layer id=&quot;first&quot; left=0 top=1 width=&{scrollerwidth};>
<script language=&quot;JavaScript1.2&quot;>
if (document.layers)
document.write(messages[0])
</script>
</layer>
<layer id=&quot;second&quot; left=0 top=0 width=&{scrollerwidth}; visibility=hide>
<script language=&quot;JavaScript1.2&quot;>
if (document.layers)
document.write(messages[1])
</script>
</layer>
</ilayer>

<script language=&quot;JavaScript1.2&quot;>
if (document.all){
document.writeln('<span id=&quot;main2&quot; style=&quot;position:relative;width:'+scrollerwidth+';height:'+scrollerheight+';overflow:hiden;background-color:'+scrollerbgcolor+' ;background-image:url('+scrollerbackground+')&quot;>')
document.writeln('<div style=&quot;position:absolute;width:'+scrollerwidth+';height:'+scrollerheight+';clip:rect(0 '+scrollerwidth+' '+scrollerheight+' 0);left:0;top:0&quot;>')
document.writeln('<div id=&quot;first2&quot; style=&quot;position:absolute;width:'+scrollerwidth+';left:0;top:1;&quot;>')
document.write(messages[0])
document.writeln('</div>')
document.writeln('<div id=&quot;second2&quot; style=&quot;position:absolute;width:'+scrollerwidth+';left:0;top:0;visibility:hidden&quot;>')
document.write(messages[1])
document.writeln('</div>')
document.writeln('</div>')
document.writeln('</span>')
}
</script>
 
That post is quite long there chief, can you track down the problem a bit better?

If it used to communicate between frames,as I guess is did by you explanation, then it will not work with a table because it is looking for the menu in a another window [frame]

<bb/>
 
I reckon GIGN has highlighted the problem. Your code originally worked between the frames, this is no longer the case so your code needs to be modified.

its over my head but perhaps the guys can help you, otherwise you could check where you got the code, maybe they have another version you could use.

É **new site coming soon**
**don't visit just yet**
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top