Vraag & Antwoord

Webprogrammeren & scripting

dynamisch menu met javascript (beperkt scrollen)

Hallo, Ik heb een mooi stukje javascript gevonden waarmee het navigatie-menu van mijn site op een vaste positie blijft staan terwijl ik door de pagina's scroll. Onderstaand stukje script heb ik daarvoor gevonden: (http://www.dynamicdrive.com/dynamicindex1/staticmenu.htm) <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="http://www.dynamicdrive.com/new.htm">What's New</a><br> <a href="http://www.dynamicdrive.com/hot.htm">What's Hot</a><br> <a href="http://www.dynamicdrive.com/faqs.htm">FAQs</a><br> <a href="http://www.dynamicdrive.com/morezone/">More Zone</a></td> </tr> </table> <!--END OF EDIT--> </layer> <script type="text/javascript"> /* Floating Menu script- Roy Whittle (http://www.javascript-fx.com/) Script featured on/available at 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 = 15, startY = 166; 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> Het werkt nu als volgt: - mijn menu start nu op de positie (x,y) 15, 166 (tijdens openen van pagina) - wanneer ik in een webpagina naar beneden scroll blijft het menu staan op de positie 15, 166 Nu zou ik het graag als volgt willen hebben: - het menu start nog steeds op de positie 15, 166 (tijdens openen van pagina) - wanneer ik naar beneden scroll wil ik dat het menu mee naar boven scrollt tot de positie 15, 0 - vanaf 15, 0 wil ik dat het menu stil blijft staan zodat het dus linksboven in mijn pagina's blijft staan. Wie kan me hier mee helpen?

Anoniem
wtulp