Avatar billede ChristofferDK1989 Nybegynder
04. maj 2012 - 00:03 Der er 8 kommentarer

HTML / CSS / JQUERY ??? - Fixed position på ipad / iphone.

Hey Eksperter ! Jeg sidder og er igang med at lave noget hjemmeside i forbindelse med en eksamen.
Men jeg er rendt ind i et lille problem som jeg håber nogen af jer kan være behjælpelige med ?

Problemet er at jeg er ved at gøre site "ipad/iphone"-venligt (pt. er jeg kun igang med ipad-delen) - og på mit site har jeg en fixed-positioneret menu - og denne vil jeg gerne kunne have "overført" så at sige til ipad versionen. Meeen .. menu'en (som er bygget op sådan her div>ul>li>a) positionerer sig rigtig og fungerer ved første klik (den benytter #-hashtags - så man bliver på siden) men lige så snart den har været 'aktiveret' en gang fungerer den ikke længere før man scroller helt til toppen igen.

Nogen der kan give mig en hånd med den her ? - Min egen research har ført mig til at det vidst kun kan fixes med javascript / jquery .. ??

I får lige lidt kode snas så I kan danne jer et bedre overblik :)


HTML:

    <div class="navbox">
        <ul class="nav">
            <li><a href="#intro">Velkommen til!</a></li>
            <li><a href="#second">En verden af mælk</a></li>
            <li><a href="#third">Din fremtid</a></li>
            <li><a href="#fourth">Fourth</a></li>
            <li><a href="#fifth">Fifth</a></li>
           
        </ul>
    </div>


CSS:

.navbox {   
    text-align:center;
    width:100%;
    margin: -16px auto;

}

ul.nav {
    padding:0;
    width:100%;
    text-align:center;
    list-style: none;
    display: block;
    position: fixed;
    z-index: 1000;

}

li {
    margin: 0px 0 0 0;
    width: 20%;
    display:inline;
    float:left;
}


ul.nav li a.active {
    background: #ebebeb;
    color: #67a5cd;
}


ul.nav li a {
    background: white;
    height: 60px;
    color: #174867;
    width: 98%;
    display: block;
    text-decoration: none;
    text-align: center;
    margin: auto;
    font-size: 120%;
    line-height: 60px;

}

Som i kan se er det ul.nav der er fixed positioneret.

Jeg håber der sidder nogle kloge hoveder derude der kan hjælpe mig ! :)

På forhånd tak.
Avatar billede mireigi Novice
04. maj 2012 - 02:07 #1
Prøv at flytte fixed til navbox i stedet for.

Jeg tror følgende sker:
Når der scrolles ned på siden, flytter ul.nav sig ud af navbox rent grafisk, uden at navbox følger med fysisk. Jeg tænker at dette giver et problem, hvor det fysisk område med linket ikke bliver ramt, selvom grafikken indikerer det.

Giver det mening?
Avatar billede ChristofferDK1989 Nybegynder
04. maj 2012 - 12:08 #2
Jeg forstår udemærket hvad du mener. Tror bare ikke det er der problemet ligger desværre :-/
Jeg har forsøgt at ændre det så navbox bliver positioneret fixed i stedet for ul.nav - still not working.

Det fungerer nu sådan at hvis man klikker på et menupunkt så bliver man sendt til en del af siden udfra en id (#) - og her kan man så ikke benytte menuen ... meeen scroller du bare en enkelt pixel kan du benyttte menuen igen..?

Er der et workaround ?
Avatar billede mireigi Novice
04. maj 2012 - 12:16 #3
hjælper det, hvis du i stedet for fixed bruger position: absolute og top: 0px?
Avatar billede ChristofferDK1989 Nybegynder
04. maj 2012 - 12:55 #4
Nej desværre - Så mister den "fixed"-funktionen. Så er den bare placeret i toppen af siden og følger ikke med hvis man scroller. :-/
Avatar billede mireigi Novice
04. maj 2012 - 16:03 #5
Det her kan gøre, hvad du vil:

Libraries

Code
Du skal selv erstatte fremhævet tekst med dine udgaver
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>JQuery Drag and Drop</title>
    <script type="text/javascript" src="jquery-1.7.2.js"></script>
    <script type="text/javascript" src="jquery-ui-1.8.19.custom.min.js"></script>
    <style type="text/css" media="screen">
        #Wrapper
        {
            margin: 50px auto 0;
            width: 971px;
            font-size: 0;
            text-align: center;
            font-family: Verdana;
            position: relative;
        }
       
        #NavBar
        {
            width: 100%;
            height: 30px;
        }
       
        #NavBar ul li
        {
            margin: 0;
            padding: 0;
            display: inline-block;
        }
       
        #NavBar ul li a
        {
            font-size: 13px;
            width: 50px;
            padding: 2px 6px;
            background-color: #AAF;
            color: #000;
            text-decoration: none;
            border-left: 1px solid #000;
        }
       
        #NavBar ul li:first-child a
        {
            border-left: none;
        }
       
        #Content
        {
            height: 2500px;
        }
    </style>
</head>
<body>
    <div id="Wrapper">
        <div id="NavBar">
            <ul>
                <li>
                    <a href="#">Link 1</a>
                </li>
                <li>
                    <a href="#">Link 2</a>
                </li>
                <li>
                    <a href="#">Link 3</a>
                </li>
            </ul>
        </div>
        <div id="Content">
        </div>
    </div>
    <script type="text/javascript">
        $(document).ready(function ()
        {
            var doc = $(this);

            doc.scroll(function ()
            {
                var scroll = doc.scrollTop();
                var navBar = $("#NavBar");
                if (scroll > 0)
                {
                    navBar.css("position", "absolute");
                    navBar.css("top", $(this).scrollTop() + "px");
                }
                else
                {
                    navBar.css("position", "");
                    navBar.css("top", "");
                    if (navBar.attr("style") == "")
                    {
                        navBar.removeAttr("style");
                    }
                }
            });
        });
    </script>
</body>
</html>
Avatar billede ChristofferDK1989 Nybegynder
04. maj 2012 - 23:05 #6
Ser lovende ud! jeg afprøver det i morgen ! :)
Avatar billede ChristofferDK1989 Nybegynder
05. maj 2012 - 09:43 #7
Jeg er sgu ked af det men det fungerer heller ikke ?
Avatar billede mireigi Novice
05. maj 2012 - 13:19 #8
Så ved jeg ikke. Har aldrig udviklet web specifikt til smartphones. Det virker i en almindelig browser.
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
Kurser inden for grundlæggende programmering

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