[Javascript] scrool top problema

trattorino

Utente Attivo
23 Lug 2016
173
1
18
43
Ciao, il seguente problema deriva dal fatto che ho diversi div ad esempio
HTML:
<div class='attiva'>bloccouno</div>
<div class='attiva'>bloccodue</div>
<div class='attiva'>bloccotre</div>

ogni volta che premo un blocco, ad esempio il blocco uno mi apre le informazione, quindi il div è soggetto a un alterra varia a seconda dell'informazione.
Ora io vorrei far in modo che se un utente preme il tasto blocco due, mi porti il div bloccodue in alto su attiva portandola sopra, uso questo codice

Codice:
$('.Attiva').click(function (e) {
    $('html, body').animate({
        scrollTop: $(this).offset().top - 65
    }, 'slow');
});

E FIN QUI TUTTO OK, fa il suo lavoro, ogni volta che clicco un blocco mi prota il alto il div, il problema sorge quando ho un blocco aperto e poi ne clicco un altro, se il blocco uno contiene informazione, e poi se clicco il blocco due, successivamente il blocco uno ritorna di defaul, e il blocco due mi sfasa l'altezza dello script, ovviamente perchè chiudendosi il blocco uno calcola l'altezza di quando era aperto e chiudendosi mi scalcola l'altezza per lo scritp, ad esempio se il blocco uno da aperto è alto 100px se clicco sul blocco due, diventa 50, e lo scritp menzionato su rimane semprealle misure di apertura di 100, quindi perdo quei 50px che vanno a influire sullo scritp, portandomi il risultato con sfasamenti di altezze, posso far il modo che ogni div cliccato mi porti quei div cliccato sopra senza farsi influire dagli altri div e dalle loro altezze?
Spero di essere stato chiaro, ma è difficile spiegarsi.. grazie
 
prima fare lo scoll, prova a chiudere tutti gli elementi con .attiva, o comunque prima di fare lo scroll chiama la funzione che apre/chiude i div
 

Discussioni simili