2014-11-19 3 views
-1

Мне нужно иметь несколько аккордеонов на странице, чтобы я мог их открывать одновременно, и мне нужен браузер для запоминания последнего активного аккордеон или аккордеоны, когда ссылка на страницу была нажата до следующего сеанса. Тем не менее, мне нужно, чтобы аккордеоны начинались как рухнувшие.Несколько JQuery Accordions Нагружено на страницу, но помните, что последний активен, когда нажата ссылка на страницу.

Это то, что я благодаря этому answer:

<div id="accordion-one" class="genericClass"> 
    <h3 class="genericHeading">Heading1</h3> 
    <div class="genericSub"> 
     <div class="genericData"><a href="#" target="_parent">Data1</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data2</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data3</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data4</a></div>   
    </div> 
</div> 
<div id="accordion-two" class="genericClass"> 
    <h3 class="genericHeading">Heading2</h3> 
    <div class="genericSub"> 
     <div class="genericData"><a href="#" target="_parent">Data1</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data2</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data3</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data4</a></div>   
    </div> 
</div> 
<div id="accordion-three" class="genericClass"> 
    <h3 class="genericHeading">Heading3</h3> 
    <div class="genericSub"> 
     <div class="genericData"><a href="#" target="_parent">Data1</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data2</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data3</a></div> 
     <div class="genericData"><a href="#" target="_parent">Data4</a></div>   
    </div> 
</div> 

Вот Jquery:

$(function() { 
$('.genericClass').each(function(i,elem) { 
    $(this).accordion({ 
     collapsible: true, 
     navigation: true, 
     activate: function(e, ui) { 
      sessionStorage.setItem('accordion-active'+i, $(this).accordion("option", "active")); 
     }, 
     active: false && +sessionStorage.getItem('accordion-active'+i) 
    }); 
}); 
}); 

Вот ссылка на fiddle

Любая помощь? Потому что я не могу понять, как все гармоники в начальном состоянии сеанса свернуты, а не все, которые активны в начальном состоянии сеанса.

ответ

0

Я ответил на свой вопрос, мне нужно было добавить parseInt не false.

$(function() { 
$('.genericClass').each(function(i,elem) { 
    $(this).accordion({ 
     collapsible: true, 
     navigation: true, 
     activate: function(e, ui) { 
      sessionStorage.setItem('accordion-active'+i, $(this).accordion("option", "active")); 
     }, 
     active: parseInt(sessionStorage.getItem('accordion-active'+i)) 
    }); 
}); 
}); 

Таким образом, любые, кто хочет иметь несколько аккордеонов на странице, и у них нагрузка первоначально, как разрушились, но помните, активное состояние внутри в сеансе может сделать это, как это в HTML5 без необходимости печенья.