I’m having trouble making this menu dock in place, until I scroll far enough down for it to float. Confused? Basically this menu is 330px from the top, and 40px from the left. Scrolling down to the bottom of the page, I want to stop the menu at 100 px from the bottom and 40px from the left…I want the script to ignore that positioning when I start scrolling.
BTW-this is a nice script that works in NS7,IE5,FF, and mac IE5…
Cheers
<script>
if (!document.layers)
document.write(‘<div id=”divStayTopLeft” style=”position:absolute”>’)
</script>
<layer id=”divStayTopLeft”>
<!–EDIT BELOW CODE TO YOUR OWN MENU–>
<table border=”1″ width=”130″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td width=”100%” bgcolor=”#FFFFCC”>
<p align=”center”><b><font size=”4″>Menu</font></b></td>
</tr>
<tr>
<td width=”100%” bgcolor=”#FFFFFF”>
<p align=”left”> <a href=”http://www.dynamicdrive.com”>Dynamic Drive</a><br>
<a href=”
<a href=”
<a href=”
<a href=”
</tr>
</table>
<!–END OF EDIT–>
</layer>
<script type=”text/javascript”>
/*
Floating Menu script- Roy Whittle ([url]http://www.javascript-fx.com/
Script featured on/available at [url]http://www.dynamicdrive.com/
This notice must stay intact for use
//Enter “frombottom” or “fromtop”
var verticalpos=”fromtop”
if (!document.layers)
document.write(‘</div>’)
function JSFX_FloatTopDiv()
{
var startX = 40,
startY = 330;
var ns = (navigator.appName.indexOf(“Netscape”) != -1);
var d = document;
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x;this.style.top=y;};
el.x = startX;
if (verticalpos==”fromtop”)
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function()
{
if (verticalpos==”fromtop”){
var pY = ns ? pageYOffset : document.body.scrollTop;
ftlObj.y += (pY + startY – ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
ftlObj.y += (pY – startY – ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout(“stayTopLeft()”, 10);
}
ftlObj = ml(“divStayTopLeft”);
stayTopLeft();
}
JSFX_FloatTopDiv();
</script>