Avatar billede kalaharikid Nybegynder
25. februar 2012 - 10:52 Der er 7 kommentarer og
1 løsning

ios device sniffer med fallback

Hej,jeg vil gerne lave en sniffer der bruger touchscroll hvis på apple device og ellers bruger slimscroll.. Men kan ikke få syntaksen og paranteser og tuborgklammer på plads ..

Her er det jeg har fusket med sofar.

<script>
if ((navigator.userAgent.indexOf("iPhone") != -1) || (navigator.userAgent.indexOf("iPod") != -1) || (navigator.userAgent.indexOf("iPad") != -1)) {
                $(document).ready(function() {
                if (!!('ontouchstart' in window)) {
                    $('inner-feed-div').touchScroll();
                }
            });

                    }
else

$(function(){     
$('#inner-feed-div').slimScroll({ 
alert("yeah")     
height: '339px', width: '360px',railVisible: true, alwaysVisible: true, size: '15px'
});
});
}</script>
Avatar billede olebole Juniormester
25. februar 2012 - 11:57 #1
<ole>

At du ikke kan finde ud af dine parenteser og curly brackets kan ikke undre, når du vælger at kaste din kode ind i dokumentet med en hullet skovl!

Gør dig umage og skriv din kode ordentligt! Hvis ikke du bruger fornuftige indrykninger, kan hverken du eller andre finde hovede eller hale på, hvor ting begynder eller slutter. Jeg kikkede i kildekoden i dit seneste spørgsmål - og den er fuldstændig håbløst sat op.

Prøv at se på denne opstilling i stedet:

<script type="text/javascript">
if ((navigator.userAgent.indexOf("iPhone") != -1) || (navigator.userAgent.indexOf("iPod") != -1) || (navigator.userAgent.indexOf("iPad") != -1)) {
    $(document).ready(function() {
        if (!!('ontouchstart' in window)) {
            $('inner-feed-div').touchScroll();
        }
    });

} else  { 
    $(function(){     
        $('#inner-feed-div').slimScroll({   
            height: '339px', width: '360px',railVisible: true, alwaysVisible: true, size: '15px'
        });
    });
}
</script>

Derudover er den eneste fejl, jeg umiddelbart kan finde, at du skriver en alert midt i et JS-object, hvilket ikke giver mening.

/mvh
</bole>
Avatar billede heinzdmx Nybegynder
25. februar 2012 - 12:30 #2
Normal bruger man kun et udråbstegn for at sige not.

if (!!('ontouchstart' in window)) {


Eller er der en eller anden smart funktion jeg ikke kender til? :)
Avatar billede olebole Juniormester
25. februar 2012 - 12:49 #3
Dobbelt logisk NOT (!!) bruges for eksplicit at konvertere et udtryk til en Boolean. Det er ikke så unormalt endda og ses i mange sprog
Avatar billede heinzdmx Nybegynder
25. februar 2012 - 12:52 #4
Ahh, okay. Man lære noget hver dag :)
Avatar billede olebole Juniormester
25. februar 2012 - 13:00 #5
Du kan prøve at kikke her for mere info  =)
Avatar billede kalaharikid Nybegynder
25. februar 2012 - 22:14 #6
Jeg er meget glad for svaret, Olebole, og vil selvfølgelig øve mig i at få mit javascript til stå mere overskueligt fremover. Smid svar så er der point.
Avatar billede olebole Juniormester
25. februar 2012 - 22:26 #7
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)

Jeg kan love dig, at du vil blive rigtig glad for dig selv, når du får lært at stille koden pænere op. Det bliver så meget lettere, når du bare kan lade øjnene glide lodret ned over siden og lade fejlene springe op i øjnene.

Det tager en anelse længere at skrive, men du bruger en brøkdel af tiden, når en fejl skal findes. Det er et af de billige tricks, professionelle lever af  *D
Avatar billede kalaharikid Nybegynder
26. februar 2012 - 11:21 #8
:)
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