• Super User

    Link che visualizza direttamente l'articolo selezionata

    Salve utenti,
    mi riferisco a questo sito web: tortaleonardo . com

    Come potete notare l'intestazione è troppo altra, quindi mi è stato chiesto di far in modo che ogni qual volta scelgo una voce dal menù, il sito si posizioni direttamente all'altezza dell'inizio dell'articolo (che praticamente sarebbe uguale per tutti).

    Avevo pensato di usare un anchor link, però non trovo la soluzione ottimale visto che si tratta di un CMS e quindi un po' 'particolare'.

    Avete qualche suggerimento?

    Grazie.


  • User Attivo

    Ciao felino, magari non é una soluzione molto elegante ma potresti usare:

    
    <body onLoad="if(document.URL.indexOf('.html')  >= 0 ){window.scrollTo(0,500);}">
    
    

    Dovresti inserirlo nel template in modo che venga usato in tutte le pagine.
    Con quel codice ogni volta che si carica una pagina che non sia la pagina principale, ovvero ogni pagina in cui l'URL contiene .html
    allora lo script fa in modo di far scrollare automaticamente la pagina di 500 pixel.

    Se per caso mettendolo nel body onload funziona ma ci mette troppo tempo, allora potresti provare ad iserire un codice simile ma:

    
    <script type="text/javascript">if(document.URL.indexOf('.html')  >= 0 ){window.scrollTo(0,500);}"</script> 
    
    

    e inserirlo nel HTML del template nella posizione in cui appunto vuoi che la pagina scrolli. Nel tuo esempio lo inserirei subito dopo il tag di apertura di <div class="outer">. Il funzionamento sarebbe che lo script viene attivato nel momento in cui la pagina si è caricata fino a quel punto. Mentre invece la soluzione del body onload attiverebbe lo scroll solo quando tutta la pagina ha finito di caricare. La seconda soluzione farebbe scrollare appena il header ha finito di caricare.

    Ciao, spero di essere stata di aiuto.


  • Super User

    Wow! Ottima soluzione, grazie! 😉
    Solo che dovrei anche distinguere la index dalle altre pagine...vediamo!
    Grazie comunque!


  • User Attivo

    Non sono sicura di quello che intendi, lo script distingue già 'la index' e non fa scrollare in quel caso.
    Altrimenti puoi modificare aggiungendo varie regole, per esempio:

    
    if(document.URL.indexOf('.html')  >= 0  &&  document.URL.indexOf('index.php')  == 0 ){window.scrollTo(0,500);}
    
    

  • Super User

    Ciao!
    Ho provato ad inserire il codice da te indicato nella index del template!
    Così:

    
    <div  class="outer">
            <script type="text/javascript"> if(document.URL.indexOf('.html')  >= 0  &&  document.URL.indexOf('index.php')  == 0 ){window.scrollTo(0,500);} </script>
                <div id="topmenu">
    
    

    Ma non accade nulla! 😞
    Neanche se lo inserisco tra i tag head!

    Ho provato anche questo:

    
    <div  class="outer">
            <script>$("div.outer").scrollTop(1000);</script>
    
    

    ma non succede niente!