Alla fine sono riuscito in quello che cercavo di fare, ovvero un accordion che caricasse contenuti dinamicamente... ovvio, visto che sono un novellino non sò se è fatto bene:
Codice PHP:
<div id="project-box">
<h2>[url="project.php?id=1"]MAGNA LAUDE IN DORM VIAE[/url]</h2>
<h2>[url="project.php?id=2"]MAGNA LAUDE IN DORM VIAE[/url]</h2>
<h2>[url="project.php?id=3"]MAGNA LAUDE IN DORM VIAE[/url]</h2>
<h2>[url="project.php?id=4"]MAGNA LAUDE IN DORM VIAE[/url]</h2>
</div>
Codice PHP:
$('#project-box > h2').click( function () {
var titolo = $(this);
titolo.addClass("press");
var container = $('.project:visible');
if (container.length > 0) {
container.prev().removeClass("press");
container.slideUp('jswing', function(){
loadContent();
});
} else {
loadContent();
}
function loadContent () {
$('#load').remove(); // rimuovo il loading
$('#wrap').append('<span id="load">LOADING...</span>'); // lo inserisco
$('#load').fadeIn('normal'); // lo faccio comparire
var toLoad = $('a', titolo).attr('href');
titolo.after('<div class="project"></div>');
titolo.next().load(toLoad, function(){
$(this).slideDown('jswing');
$('#load').fadeOut('normal');
slider();
});
}
return false;
});
Ho un po' di confusione per quanto riguarda le variabili sulla root e nelle funzioni...
Ho capito che se la dichiaro fuori (come var titolo) posso utilizzarla all'interno di una funzione, ma non ho capito ancora come si fa a passare "this" a una funzione o a fare che la funzione che si lancia abbiamo lo stesso this di quella che l'ha richiamata... alla fine nello script che ho passato sopra ho fatto uno zig zag per evitare il problema.
Troppe domande perdonatemi, potete anche mandarmi a quel paese!