Se io volessi inserire un link che rimanda a un oggetto ancorato (msacc01, per esempio) all'interno della pagina in cui ho inserito l'accordion, c'è modo di far si che venga visualizzato l'oggetto già "aperto"?
Potresti aggiungere uno script utilizzando il metodo .trigger() insieme all'evento click per simulare appunto l'apertura dell'oggetto con accordion quando si clicca sul relativo link.
$('idOggetto a').click(function(){ $('idTitoloOggetto').trigger('click'); });
Dove sbaglio?
<!-- Proprietà pagina - Esperto - Prima della chiusura del tag BODY --><script>var links = $('#imTextObject_05 a'); //id oggetto con links con ancora accordionlinks.each(function() { var ancora = $(this).attr('href').split('#msacc'); $(this).click(function() { var titolo = $('#msacc' + ancora[1]).siblings('div[id^="imCellStyleTitle_"]'); if (titolo.next().is(":hidden")) { setTimeout(function() { titolo.trigger('click'); }, 500); //tempo in millisecondi per ritardare l'apertura dell'oggetto } });});</script>
div[id^="msacc"] { margin-top:-40px; /* altezza sticky bar */}
Io propongo col ws solo quello che riesco a farlo.
<!-- Proprietà pagina - Esperto - Prima della chiusura del tag BODY --><script>var links = $('#imTextObject_3_12 a'); //id oggetto con links con ancora accordionlinks.each(function() { var ancora = $(this).attr('href').split('#msacc'); $(this).click(function() { var titolo = $('#msacc' + ancora[1]).siblings('div[id^="imCellStyleTitle_"]'); if (titolo.next().is(":hidden")) { setTimeout(function() { titolo.trigger('click'); setTimeout(function() { location.hash = "msacc" + ancora[1]; }, 500); //tempo in millisecondi per ritardare l'apertura dell'oggetto }, 100); //tempo in millisecondi per ritardare correzione } });});</script>
Io ho inserito tutto è qui, eppure non si apre come nel tuo ultimo , boh.
Per quanto riguarda la seconda domanda (sempre se ho capito): all'oggetto in questione non assegni l'ancora (o non usi il prefisso msacc)... non ti va bene? La formattazione degli stili etc... la fai da programma.