• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Come applicare l'effetto scroll/follow alla sidebar.

ebello

Redattore onorario
Autore del topic
Redattore
22 Aprile 2007
53.266
162
Miglior risposta
0
Ciao a tutti,
oggi vedremo come applicare l'effetto scroll/follow alla sidebar.
Il risultato sarà questo:
b8abd35a797498b35ea0e4d39722bddd.png
(Quando saremo in cima alla pagina)
6763a5eec679a43ae78fbdc2e5df2b91.png
(Quando scorreremo la pagina verso il basso)

Un esempio di sidebar scroll/follow è quella di Sciax2.

Iniziamo!

Come attivare la sidebar:
-Andiamo nell'admincp
-Andiamo su Impostazioni>Opzioni> Opzioni Sidebar Forum e Blocchi, e attiviamo la Sidebar
492b1bf6cb95f7861553fc6a6a635316.png

-Successivamente andiamo su Forum & Moderatori>Gestione blocchi forum, e qui aggiungiamo tutti i blocchi che vogliamo.


Come impostare l'effetto scroll/follow:
-Andiamo sempre nell'admincp
-Andiamo su Stili & Template>Gestione Stili>Modifica Template, andate su sidebarext_temp e cercate:
<ul id="sidebar">
{vb:raw sidebar}
</ul>
</div>
-Aggiungete dopo di questo la seguente stringa:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
var sidebar=$("#sidebar");
var sidebar_position=sidebar.position();
var sidebar_y_origin=sidebar_position.top;
var sidebar_margin_top='45';
var sidebar_trigger_y=(sidebar_y_origin-sidebar_margin_top);
$(window).scroll(function(){
if($(window).scrollTop()>=sidebar_trigger_y && sidebar.css('position')=='relative'){
sidebar.css('position','fixed').css('bottom',(sidebar_margin_top)+'px');

}
if($(window).scrollTop()<sidebar_trigger_y && sidebar.css('position')!='relative'){
sidebar.css('position','relative').css('bottom','0');
}

});
</script>
-Andate su additional.css e aggiungete:
#sidebar_container > ul {
top: 50px;
float: right;
width: 230px;
padding: 17px 0;
margin-bottom: 3em;}

Fine