2010-12-16 2 views
0

Используя ответ Давида здесь: -Добавление стрелка Accordian

Accordion - add arrow to each nav item?

на моем Accordian здесь: -

Error Help::Multiple controls with the same ID 'ctl00' were found. FindControl requires that controls have unique IDs

Стрелки обыкновение show..wats неправильно?

+0

Вы динамически меняете классы в зависимости от того, расширяется ли аккордеон или нет? Это действительно результат html, который нуждается в проверке. – lnrbob 2010-12-16 10:54:28

ответ

1

Я принял догадку на то, как аккордеон будет работать - вот какой-то код, который должен работать

JQuery:

function checkVisibility() { 
    $('.accordionHeader.expanded').removeClass('expanded'); 
    $('.toggler .accordionContent:visible').each(function(){ 
    $(this).prev('.accordionHeader').addClass('expanded'); 
    }); 
} 

$(document).ready(function(){ 
    checkVisibility(); 
    $('.toggler .accordionHeader').not('.expanded').click(checkVisibility()); 
}); 

CSS:

.toggler .accordionHeader { 
    background:url(* add a path to an arrow here *) no-repeat left center transparent; 
    } 

.toggler .expanded { 
     background-image:url(* add a path to alternate arrow here *); 
    } 

EDIT - Альтернатива

Здесь я изменил сценарий в указанной вами ссылке. Используйте тот же css из предоставленной ссылки (непроверенный) - не то, что я ввел выше. Предыдущий вариант лучше imo ...

function checkVisibility(){ 
    $('.accordionHeader.expanded').removeClass('expanded'); 
    $('.accordionHeader > span').text('▶'); 
    $('.toggler .accordionContent:visible').each(function(){ 
    $(this).prev('.accordionHeader').addClass('expanded').find('span').text('▼'); 
    }); 
} 

$(document).ready(function(){ 
    $('.accordionHeader').each(function(){ 
     $('<span></span>').appendTo($(this)); 
    }); 
    $('.toggler .accordionHeader').not('.expanded').click(checkVisibility()); 
});