Toon posts:

[javascript - css] probleem met highlighten van tabs

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo beste mensen,

Ik heb een probleem, ik heb dit scriptje in javascript gemaakt, maar ie geeft een foutmelding onderin, het bekende javascript gele driehoekje. Firefox doet het wel gewoon en ik kan maar niet vinden waar het in zit. Ik post even de twee functies tabCheck() heb ik in onLoad staan.

Ik heb het proberen te debuggen met firefox, maar daar krijg ik dus geen foutmelding.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function removeName(el, name) {

  var i, curList, newList;

  newList = new Array();
  curList = el.className.split(" ");
  for (i = 0; i < curList.length; i++)
    if (curList[i] != name)
      newList.push(curList[i]);
  el.className = newList.join(" ");
}
function tabCheck() {
    var i,elList;
    elList = document.getElementsByTagName("a");
    
    for(i=0;i <= elList.length; i++)    {
        if(elList[i].href == document.location) {
            elList[i].className += " activeTab";
        }   else {
            removeName(elList[i]," activeTab");
        }
    }
}


Ik hoop dat iemand me verder kan helpen ben een beetje klaar met dat #$%*&#$ javascript.

  • André
  • Registratie: Maart 2002
  • Laatst online: 11-02 14:19

André

Analytics dude

Welke melding krijg je in IE?

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10-2025
curList = el.className.split(" ");
een class met een spatie erin??? Niet doen :)

Verwijderd

Topicstarter
Het standaard verhaal witte blaadje met geel driehoekje en na klikken op een van de tabs, ook nog error on page.

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10-2025
hij bedoelt, welke error exact: welk regelnummer, welke errormelding... en als je een regelnummer hier geeft, geef even aan welke regel dat is in bovenstaande code aangezien we niet de gehele pagina hebben.
En anders: geef even een url naar de pagina waar het om gaat.

[ Voor 87% gewijzigd door reddevil op 10-08-2006 09:58 ]


  • Victor
  • Registratie: November 2003
  • Niet online
reddevil schreef op donderdag 10 augustus 2006 @ 09:52:
[...]


een class met een spatie erin??? Niet doen :)
classes kun je scheiden door middel van spaties. De class zelf bevat dus geen spatie, het gaat hier om meerdere classes.

Verder zou ik document.location in window.location.href veranderen. Een andere fout zie ik zo snel niet.

Verwijderd

Topicstarter
Hmm ik post mn hele file wel even misschien dat jullie dan iets kunnen vinden. Ik ben overigens voor he t eerst bezig met divs, voorheen altijd tables gebruikt. misschien dat dat er iets mee te maken heeft.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="page_style.css" rel="stylesheet" type="text/css" />
</head>
<script>
function removeName(el, name) {

  var i, curList, newList;

  newList = new Array();
  curList = el.className.split(" ");
  for (i = 0; i < curList.length; i++)
    if (curList[i] != name)
      newList.push(curList[i]);
  el.className = newList.join(" ");
}
function tabCheck() {
    var i,elList;
    elList = document.getElementsByTagName("a");
    
    for(i=0;i <= elList.length; i++)    {
        if(elList[i].href == window.location.href)  {
            elList[i].className += " activeTab";
        }   else {
            removeName(elList[i]," activeTab");
        }
    }
}
</script>
<body onLoad="tabCheck();">
<div class="container"> 
        <div class="header">        </div>
        <div class="nav">
                <a class="tab" href="./index.php">Home</a>
                <a class="tab" href="./webwinkel/main.php">Webwinkel</a>
                <a class="tab" href="./index.php?p=m">Medewerkers</a>
                <a class="tab" href="./Acties.php">Acties</a>
                <a class="tab" href="./index.php?p=contact">Contact</a>
        </div>
        <div class="content"> 
        <?php
            switch ($_GET['p']) {
                case 'm':
                   require "medewerkers.htm";
                   break;
                case 'contact':
                   echo "contactpage";
                   break;
                case 2:
                   echo "i equals 2";
                   break;
                default:
                    require "home.htm";
                }
            
        ?>
        </div>
    </div> 
</body>
</html>

  • Victor
  • Registratie: November 2003
  • Niet online
JavaScript:
1
for(i=0;i <= elList.length; i++)


Verander
JavaScript:
1
<=
in
JavaScript:
1
<

Verwijderd

Topicstarter
ongeloofelijk het werkt.

Hartstikke bedankt.

  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 20-01 18:47

Wacky

Dr. Lektroluv \o/

Nu klopt de functie niet meer he, de loop maakt nu 1 rondje minder als de bedoeling is!

Je kan beter veranderen in
code:
1
=<

Nu ook met Flickr account


  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10-2025
eeeehm =< bestaat niet echt in een programmeertaal en wat is er mis met alleen een < zetten?

Je leest vanaf 0 tot aan de lengte, dat is standaard voor een loop.

  • Victor
  • Registratie: November 2003
  • Niet online
Wacky schreef op donderdag 10 augustus 2006 @ 10:44:
Nu klopt de functie niet meer he, de loop maakt nu 1 rondje minder als de bedoeling is!

Je kan beter veranderen in
code:
1
=<
Length geeft de hoogste index, plus 1. Dus je wilt dat ie voor length bereikt is stopt.
Pagina: 1