Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

jQuery Ui Accordion - element openen bij openen pagina

Pagina: 1
Acties:

  • 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! ;)

  • 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?

  • 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... :/

  • 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.


  • 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.

  • 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.


  • 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. ;)

  • 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