Avatar billede swing Nybegynder
11. november 2009 - 10:57 Der er 11 kommentarer og
1 løsning

IE Browserfejl

Hej Eksperter

Jeg får følgende fejl i ie:

'document.getElementById(...)' er null eller ikke et objekt

fra et javascript (tak zips), og jeg kan bare ikke se fejlen...


Jeg har et stylesheet som følger:

<style type="text/css">
{
    font-family: arial, verdana, sans-serif;
    font-size: small;
    color: #333333;
}
ol {
    border: 1px solid #000000;
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    background-color: #E7E7E7;
    font-size: small;
    font-weight: bold;
}
ol ol {
    float: left;
    position: absolute;
    top: 20px;
    left: 0px;
    display: none;
}
ol li {
    position: relative;
    float: left;
}


li a {
    display: block;
    padding: 5px;
    background-color: #e7e7e7;
    height: 10px;
    width: 145px;
    text-decoration: none;
    color: #777;
}
a:hover {
    background-color: #B1E3FF;
    color: #000000;
}

li:hover ol, #nav li.sfhover ol  { display: block; }

</style>

Og et javascript som får det til at virke i ie6.0:

<script type="text/javascript"><!--//--><![CDATA[//><!--

sfHover = function() {
    var sfEls = document.getElementById("nav").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
            this.className+=" sfhover";
        }
        sfEls[i].onmouseout=function() {
            this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
        }
    }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]></script>
Avatar billede keysersoze Guru
11. november 2009 - 19:22 #1
fejlen betyder at det object du forsøger at hive fat i - højst sandsynligt det du mener hedder "nav" ikke findes. Ovenstående kode i sig selv kan altså ikke forklare eller løse fejlen.
Avatar billede swing Nybegynder
12. november 2009 - 15:46 #2
Ok her er det css som jeg har prøvet at tilpasse mit, giver det så nogen mening?

<style type="text/css">
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: small;
    color: #333333;
}
ol {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
}
ol ol {
    width:150px;
    position: absolute;
    top: 26px;
    left: 0px;
    display: none;
}
ol li {
    position: relative;   
}
li {float:left;}

li a {
    display:block;
    padding: 5px;
    border: 1px solid #808080;
    background-color: #e7e7e7;
    height:15px;
    width:150px;
    text-decoration: none;
    color: #777;
}
li:hover ol, li.over ol  {
    display: inline;
}
</style>
</head>
<body>
<ol>
    <li><a href="#">Home</a></li>
    <li><a href="#">Products</a>
        <ol>
        <li><a href="#">Guitars</a></li>
        <li><a href="#">Basses</a></li>
        <li><a href="#">Accessories</a></li>
        <li><a href="#">Sheet Music</a></li>
        </ol>
    </li>
    <li><a href="#">Services</a>
        <ol>
        <li><a href="#">Guitar Repair</a></li>
        <li><a href="#">Music Lessons</a></li>
        <li><a href="#">Instrument Rental</a></li>
        </ol></li>
    <li><a href="#">Contact Us</a>
    <ol><li><a href="#">By Phone</a></li>
        <li><a href="#">By E-Mail</a></li></ol>
    </li>
</ol>
</body>
</html>
Avatar billede keysersoze Guru
12. november 2009 - 19:03 #3
fejl du får har ikke noget med dit css at gøre - det er en javascript-fejl. Kører du det stykke javascript du postede i dit spørgsmål er det med ovenstående kode klart at fejlen kommer for du har ikke noget element med id="nav".
Avatar billede swing Nybegynder
12. november 2009 - 19:09 #4
ok så jeg er i den forkerte kategori?
Avatar billede keysersoze Guru
12. november 2009 - 19:19 #5
den fejl du får er i hvert fald om javascript og ikke css - men forklaringen på fejlen har du i hvert fald fået; du har ikke noget element med id'et nav som du forsøger at fange med dit javascript.
Avatar billede swing Nybegynder
12. november 2009 - 19:32 #6
ja det er jeg med på jeg ved bare ikke hvordan jeg får det rettet. Men post et svar så får du point og jeg lukker her :-)
Avatar billede keysersoze Guru
12. november 2009 - 20:30 #7
jamen - hvilket element skal have den funktionalitet du forsøger at ramme med dit js?
Avatar billede swing Nybegynder
12. november 2009 - 20:39 #8
Det er for at få hover effekten til at virke i ie6.0, jeg fik at vide at den ikke understøtter det så der skal noget javascript til.
Avatar billede keysersoze Guru
12. november 2009 - 22:22 #9
virker hover ikke i IE6 - det er nyt for mig. Men der må ligge et eksempel et sted hvor det bliver forklaret hvordan du får det javascript til at fungere - mon ikke du bare skal sætte det korrekte id på dit ol-tag.
Avatar billede swing Nybegynder
12. november 2009 - 23:01 #10
ok
Avatar billede keysersoze Guru
13. november 2009 - 07:27 #11
tak for hjælpen...
Avatar billede keysersoze Guru
15. november 2009 - 01:46 #12
nå - men det er anmeldt for misbrug.
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