Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    12

    ancore non funzionanti (smooth scroll jquery)

    Ciao a tutti,
    sto progettando un sito con bootstrap, un one-page website e purtroppo mi sono fermato su una "banalità"... le ancore nella pagina! ho inserito il javascript in jquery per fare lo smooth scroll tuttavia nonostante abbia inserito tutto correttamente qualsiasi link mi porta sulla prima àncora e non so più come poter fare.

    il js è questo, ma sono sicuro che è corretto.

    <script>
    $('a').click(function(){
    $('html, body').animate({
    scrollTop: $('[name="' + $.attr(this, 'href').substr(1) + '"]').offset().top
    }, 900);
    return false;
    });
    </script>

    forse va in conflitto ma non so proprio con cosa!
    il link del progetto è questo: http://www.visivanetwork.it/demo/ildadopensante/
    qualcuno può aiutarmi?

    grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Il js non è corretto, devi spostare l'istruzione $.attr(this, 'href').substr(1), fuori dal metodo animate altrimenti this si riferirà al documento che ovviamente non ha nessun attributo href

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    12
    Ciao Vindav,
    grazie della celere risposta! ho provato a spostare l'istruzione, tuttavia mi sono accorto che non vede per niente la funzione! non capisco perchè. Per cui mi rimangono le ancore funzionanti ma non lo smooth scroll...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    12
    ho provato a cambiare leggermente la funzione provando a forzare l'ancora specificando il nome, tuttavia mi punta sempre alla prima ancora sul documento html... non capisco!

    <script>
    $(function() {
    $('a[href*=#formazione]').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
    var target = $(this.hash);
    target = target.length ? target : $('[id=#formazione]');
    if (target.length) {
    $('html,body').animate({
    scrollTop: target.offset().top
    }, 1000);
    return false;
    }
    }
    });
    });
    </script>

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    12
    ho capito che il problema sta che viene calcolato, per un motivo a me sconosciuto, sempre la posizione della prima ancora!

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    12
    risolto! problema attributo del div, grazie a tutti!

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.