Avatar billede basketball Nybegynder
04. januar 2006 - 20:53 Der er 3 kommentarer og
1 løsning

Menu - bevæger sig

Hejsa,

Er der nogen der ved hvor man kan finde scriptet til en menu som fungere ligesom

http://www.teraasekeskus.com/tuotteet.asp?osasto=tactical&lan=eng

Har ledt og ledet :)

Takker :)
Avatar billede or.han Nybegynder
04. januar 2006 - 21:00 #2
Du kan også kigge på kildekoden i den side du viser...
Avatar billede or.han Nybegynder
04. januar 2006 - 21:03 #3
Det er disse to funktioner som laver den effekt:

function actFloatLayer(slideTime,layer_top,layer_height,browser) // modded by Jere Tiihonen
    { 
    switch(browser)
        {
            case (1):
                //find = document.body.clientHeight;
                find = (document.compatMode=="CSS1Compat")?document.documentElement.clientHeight:document.body.clientHeight;
                current = menu_base.style.pixelTop;
                scrollAt = (document.compatMode=="CSS1Compat")?document.documentElement.scrollTop:document.body.scrollTop;
                break;
            case (2):
                find = window.innerHeight;
                current = document.menu_base.top;
                scrollAt = window.pageYOffset;
                break;
            case (3):
                find = window.innerHeight;
                current = parseInt(document.getElementById('menu_base').style.top);
                scrollAt = window.scrollY;
                break;
        }

    if (isNaN(Math.log(scrollAt-=layer_top))) scrollAt = 0;
    newTarget = scrollAt;
    if (find < layer_height)
        {
        do_this_shit = false;
        if (scrollAt - (layer_height - find) > current)
            {
            newTarget -= (layer_height - find);
            do_this_shit = true;
            }
            else if (scrollAt < current)
                {
                do_this_shit = true;
                }
        }
        else
            {
            do_this_shit = true;
            }

    if ( current != newTarget && do_this_shit == true)
        {       
        if (newTarget !=  this.target )
            {
            target = newTarget;
            now = new Date();
            Mul = target - current; //
            Wave = Math.PI / ( 2 * slideTime );
            Pass = now.getTime();
            if (Math.abs(Mul) > find)
                {
                Dis = (Mul > 0) ? target - find : target + find ;
                Mul = (Mul > 0) ? find : -find ;
                }
                else
                    {
                    Dis = current
                    }
            }
        now = new Date();
        newPosition = Mul * Math.sin( Wave * ( now.getTime() - Pass ) ) + Dis;
        newPosition = Math.round(newPosition);
        if (( Mul > 0 && newPosition > current ) || ( Mul < 0 && newPosition < current ))
            {
            switch(browser)
                {
                    case (1):
                        menu_base.style.pixelTop = newPosition;
                        break;
                    case (2):
                        document.menu_base.top = newPosition;
                        break;
                    case (3):
                        document.getElementById('menu_base').style.top = newPosition + 'px';
                        break;
                }
            }     
        }
    }

function startFloatLayer()
    {
    var browser;
    if (document.all)  //ie4
        {
        browser = 1;
        layer_height = document.all['menu_main'].clientHeight;
        layer_top = document.all['menu_base'].offsetTop - 10;
        }
    if (document.layers)  //ns4
        {
        browser = 2;
        layer_top = 67;
        layer_height = document.menu_base.document.menu_main.document.height
        }
    if (!document.all && document.getElementById) //ns6
        {
        browser = 3;
        layer_height = parseInt(document.getElementById('menu_main').offsetHeight);
        layer_top = parseInt(document.getElementById('menu_base').offsetTop) - 10;
        }
    //alert(browser)
    //alert(document.getElementById('menu_base').style.top);
    setInterval("actFloatLayer(600," + layer_top + "," + layer_height +"," + browser + ")",10);
    }
Avatar billede basketball Nybegynder
04. januar 2006 - 23:18 #4
Takker mange gange, ved du om det er muligt at lave en funktion i dit første link således brugeren selv kan lukke den?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester