Jeg har faktisk en funktion som gør nogen lunde det samme. Den kører bare den forkerte vej. Den ligger her:
http://www.jacobroarhansen.dk/public/TennisCamp/info_til_klubben.htmlDet er den grønne menu til højre.
Hvis i kan hjælpe med at få den til at køre den, den anden vej, tror jeg det vil være løsningen.
js koden ser sådan ud:
var gTop=0;
var gIncVal=0;
var timeOutValue=80;
function scrollMe(arg)
{
var objEncNav=document.getElementById('encNav');
var scrollAmount=160;
var objEncNavHeight=parseInt(objEncNav.offsetHeight);
var objEncNavTop=objEncNav.style.top;
var barHeight=160;
if(!objEncNavTop)
objEncNavTop=0;
else
objEncNavTop=objEncNavTop.substring(0,objEncNavTop.length-2);
if(arg>0)
{
if(objEncNavTop>=0 || objEncNavTop>(-(objEncNavHeight-(barHeight+scrollAmount))))
{
incrementValue=scrollAmount;
}
else if(objEncNavTop<(-(objEncNavHeight-(barHeight+scrollAmount))))
{
incrementValue=(objEncNavHeight-barHeight)+parseInt(objEncNavTop);
}
else
{
incrementValue=0;
}
encSmoothScroll("minus", parseInt(objEncNavTop), parseInt(incrementValue));
}
else
{
if(objEncNavTop<0 && ((parseInt(objEncNavTop)+scrollAmount) < 0))
{
incrementValue=scrollAmount;
}
else
{
incrementValue=-objEncNavTop-0;
}
encSmoothScroll("plus", parseInt(objEncNavTop), parseInt(incrementValue));
}
}
function encSmoothScroll(dir, currentVal, incValue)
{
gTop=currentVal;
gIncVal=incValue;
encScrollBy(dir, 0)
}
function encScrollBy(dir, val)
{
if(val<gIncVal)
{
var tmpInc;
if((gIncVal-val)>1)
{
tmpInc=Math.ceil((gIncVal-val)/10);
if(tmpInc <1)
tmpInc=1;
}
else
{
tmpInc=gIncVal-val;
}
val+=tmpInc;
var objEncNav=document.getElementById('encNav');
if(dir=="plus")
{
objEncNav.style.top=gTop+val+"px";
}
else if(dir=="minus")
{
objEncNav.style.top=gTop-val+"px";
}
var t=setTimeout("encScrollBy('"+dir+"', "+val+");", timeOutValue);
}
else
{
clearTimeout(t);
}
}
Håber dette er nemmere. Kan godt se det ikke var så godt forklaret.