2013-10-28 2 views
0

Как я могу заставить скрипт аккордеона закрываться при загрузке страницы? Мой сценарий заключается в следующем:Как сохранить аккордеон на странице?

$('[data-fn="accordion"]').on('click',function(e) { 
    var id = $(this).data('open'); 
$('#'+id).slideToggle(); 
    if(!$(this).children('.icon-arrow').hasClass('open')) { 
$(this) 
.children('.icon-arrow') 
.addClass('open') 
.removeClass('close'); 
e.preventDefault(); 
} 
else { 
$(this) 
    .children('.icon-arrow') 
    .removeClass('open') 
    .addClass('close'); 
    e.preventDefault(); 
} 
    }); 

А вот JSFiddle

Спасибо, уважения Томаса

+0

Посмотрите на это http://stackoverflow.com/questions/6575610/jquery-accordion-collapsed-by-default-on-page-load –

+0

Я действительно посмотрел на это, но потом мне нужно переделать все мои css – maschm

ответ

1

OK Взгляни на обновленной скрипке.

http://jsfiddle.net/NxLpq/2/

JS:

$(function() { 
    $(".accordion").accordion({ 
     active: false, 
     autoHeight: false, 
     navigation: true, 
     collapsible: true 
    }); 

}); 

$('[data-fn="accordion"]').on('click', function (e) { 
    var id = $(this).data('open'); 
    $('#' + id).slideToggle(); 
    if (!$(this).children('.icon-arrow').hasClass('open')) { 
     $(this) 
      .children('.icon-arrow') 
      .addClass('open') 
      .removeClass('close'); 
     e.preventDefault(); 
    } else { 
     $(this) 
      .children('.icon-arrow') 
      .removeClass('open') 
      .addClass('close'); 
     e.preventDefault(); 
    } 
}); 
+0

Спасибо, это помогло. Некоторая корректировка CSS и все работало :) – maschm

+0

Рад помочь?) –

Смежные вопросы