Hej.
Jeg forsøger at lave en accordion med en menu inden i, hvis man tykker på "sub-item2" ønsker jeg at åbne user_menu_item_3 når siden indlæses, men jeg bliver ved med at løbe ind i:
this.active is undefined er løbet lidt tør for idéer
- $("#user_menu").accordion({
- autoHeight: false,
- collapsible:true,
- navigation: true,
- navigationFilter: function(i, obj){
- $obj = $(obj);
- if($obj.parent().hasClass("ui-accordion-header")){
- $obj.click(function(){
- window.location.href = $(this).attr("href");
- });
- }else{
- if(window.location.hash == $obj.attr("href") || window.location.href == $obj.attr("href")){
- $curElm = $obj;
- while($curElm.hasClass("ui-accordion-content") != true){
- $curElm = $curElm.parent();
- }
- $("#user_menu").accordion("activate", "'#"+$curElm.prev().attr("id")+"'"); //<-- fejl
- }
- }
- }
- });
- <div id="user_menu">
- <h3 id="user_menu_item_1"><a href="#item1">item1</a></h3>
- <div>
- item 1
- </div>
-
-
- <h3 id="user_menu_item_2"><a href="#item2">item2</a></h3>
- <div>
- item 2
- </div>
-
-
- <h3 id="user_menu_item_3"><a href="#item3">item3</a></h3>
- <div>
- <ul style="margin: 0px; padding: 0px; list-style: none;">
- <li><a href="#sub-item1">sub-item1</a></li>
- <li><a href="#sub-item2">sub-item2</a></li>
- <li><a href="#sub-item3">sub-item3</a></li>
- </ul>
- </div>
- </div>
http://docs.jquery.com/UI/Accordion#method-activateedit:
Har fået det løst
man skulle bruge return istedet for.
Den færdig kode ser sådan her ud, in case der er andre der har samme problem en dag.
- $("#user_menu").accordion({
- autoHeight: false,
- collapsible:true,
- navigation: true,
- navigationFilter: function(i, obj){
- $obj = $(obj);
- if($obj.parent().hasClass("ui-accordion-header")){
- $obj.click(function(){
- window.location.href = $(this).attr("href");
- });
- if(window.location.hash == $obj.attr("href") || window.location.href == $obj.attr("href")){
- return "'#"+$obj.parent().attr("id")+"'";
- }
- }else{
- if(window.location.hash == $obj.attr("href") || window.location.href == $obj.attr("href")){
- $curElm = $obj;
- while($curElm.hasClass("ui-accordion-content") != true){
- $curElm = $curElm.parent();
- }
- return "'#"+$curElm.prev().attr("id")+"'";
- }
- }
- }
- });
Indlæg senest redigeret d. 01.03.2012 17:01 af Bruger #3427