jQuery Ui Accordion - element openen bij openen pagina

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 18-09 08:25
Hoi,

Voor een nieuw site projectje maak ik voor mijn menu gebruik van het Accordion van jQuery.

Dat vind je hier: http://docs.jquery.com/UI/Accordion

Mijn code:
HTML:
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
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>

<script type="text/javascript">
 $(document).ready(function(){
 $("#nav").accordion({ autoHeight: false });
 });
</script>

</head>

<body>

<div id="left_nav">
    <ul id="nav">
    <li><a href="#">nr1</a></li>
    <li><a href="#">nr2</a></li>
    <li><a href="#">nr3</a>
            <ul>
                <li><a href="#">.</a></li>
                <li><a href="#">..</a></li>
                <li><a href="#">...</a></li>
            </ul>        
        </li>
    <li><a href="#">nr4</a>
            <ul>
                <li><a href="#">.</a></li>
                <li><a href="#">..</a></li>
                <li><a href="#">...</a></li>
            </ul>        
        </li>
    <li><a href="#">nr5</a>
            <ul>
                <li><a href="#">...</a></li>
                <li><a href="#">....</a></li>
            </ul>        
        </li>
    <li><a href="#">nr6</a></li>
    <li><a href="#">nr7</a></li>
    </ul>
</div>

</body>
</html>

(doctype en overbodig dingen effe weggelaten)

Dat werkt goed nu. Maar ik zou een bepaald deel willen openen bij het laden van de pagina.

Dat zou zo moeten:
code:
1
$(".selector").accordion("activate", 1)


(zie bij "Documantation": accordion( "activate", index )

Omgevormd voor mijn geval:

HTML:
1
2
3
4
5
6
<script type="text/javascript">
 $(document).ready(function(){
 $("#nav").accordion({ autoHeight: false });
 $("#nav").accordion("activate", 3);
 });
</script>

Dat heb ik gedaan, maar doet niks?

Een andere manier zou als volgt zijn:
code:
1
$(".selector").accordion("activate", "a:first")


Met de volgende aangepaste HTML
HTML:
1
2
3
4
5
6
7
    <li><a href="#" id="opendeze">nr3</a>
            <ul>
                <li><a href="#">.</a></li>
                <li><a href="#">..</a></li>
                <li><a href="#">...</a></li>
            </ul>        
        </li>

zou dat moeten worden:
HTML:
1
2
3
4
5
6
<script type="text/javascript">
 $(document).ready(function(){
 $("#nav").accordion({ autoHeight: false });
 $("#nav").accordion("activate", "li:opendeze");
 });
</script>

Maar ook dat doet het niet...

Ik snap het niet meer.

Iemand een idee?

Alvast bedankt! ;)

Acties:
  • 0 Henk 'm!

  • Tofu
  • Registratie: Maart 2003
  • Laatst online: 05-10-2024
Ik ken enkel Prototype, dus het is een klein gokje:
Maar zou je lijn 20 niet kunnen vervangen door:
code:
1
<li id="nr3"><a href="#">nr3</a>

en die dan openen met:
code:
1
$("#nav").accordion("activate", "#nr3");

oid?

Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 18-09 08:25
Ik had ook al enkele mogelijke combinaties geprobeerd, of ik deze al gehad had weet ik niet, alleszins, het werkt helaas niet... :/

Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Probeer eens zoiets:
JavaScript:
1
2
var $acc = $("#nav").accordion({ autoHeight: false }); 
$acc.changeAccordion("activate", 3); 

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 18-09 08:25
@ Jaaap

Naar ik veronderstel bedoel je het als volgt:
HTML:
1
2
3
4
5
6
<script type="text/javascript">
 $(document).ready(function(){
 var $acc = $("#nav").accordion({ autoHeight: false }); 
 $acc.changeAccordion("activate", 3);
 });
</script>


Maar dat werkt niet. (accordion werkt maar dat deel staat niet open), jammer genoeg.

Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Foutmelding?
Loop er eens met een (Firebug) debugger doorheen...

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 18-09 08:25
Gelukt :)

Moet ik altijd toch ergens een klein detail vergeten typen zijn. |:(

Het is gelukt via die 2de methode:
HTML:
1
2
3
4
5
6
<script type="text/javascript">
 $(document).ready(function(){
 $("#nav").accordion({ autoHeight: false });
 $("#nav").accordion("activate", "#opendeze");
 });
</script>


en

HTML:
1
2
3
4
5
6
7
    <li><a href="#" id="opendeze">nr3</a>
            <ul>
                <li><a href="#">.</a></li>
                <li><a href="#">..</a></li>
                <li><a href="#">...</a></li>
            </ul>        
        </li>


Hoe je die eerste methode dan werkend moet krijgen, geen idee, maar het lukt nu toch. :)

Allemaal bedankt voor de zeer snelle reply's. ;)

Acties:
  • 0 Henk 'm!

  • Tweaker36
  • Registratie: Juni 2007
  • Laatst online: 18-09 08:25
Juup schreef op zondag 09 november 2008 @ 23:14:
Loop er eens met een (Firebug) debugger doorheen...
Niet nodig nu, maar komt later wel eens van pas. Dank voor de tip! ;)
Kende deze niet, maar inmiddels geïnstalleerd. :)
Pagina: 1