Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Smooth Scroll verticale

    Ciao spero di essere nella sezione giusta perchè il sito in questione è realizzato con joomla ma credo che il mio problema sia di codice.

    Vorrei realizzare un sito ad una pagina a scorrimento verticale, quindi ho fatto in questo modo:
    1- ho inserito le ancore nei punti che mi interessono
    2- Nel menù di joomla ho impostato "esternal link" e asseganto il nome dell'ancora (una voce per ogni ancora)

    Fin qui tutto bene, ora vorrei renderlo un pò più gradevole aggiungendo un effetto smooth scroll in verticale con jquery

    3- Da internet trovo questo codice (non conosco Js quindi mi limito a copiarlo) e lo inserisco in un nuovo file che poi andrò a richoamare
    codice HTML:
    $(function() {
      $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
          var target = $(this.hash);
          target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
          if (target.length) {
            $('html,body').animate({
              scrollTop: target.offset().top
            }, 1000);
            return false;
          }
        }
      });
    });
    4- dal template richiamo il file con questo comando
    codice HTML:
    <script type="text/javascript" src="/Roggie-House/templates/gantry/js/smoothscroll2.js">
    a l'effetto smooth non funziona… forse devo customizzare il codice? ma dove?
    Qualcuno saprebbe aiutarmi?

    Ciao

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    controlla che questi "extrnal links" vangano scritti nella pagina esattamente come href="#nomeAncora"

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    verifica che lo script venga effettivamente richiamato,
    dopodiche' metti un alert('mi trovo qui') dopo ogni if(...){ in questa funzione richiamata al click per capire dove si blocca

    ciao

  4. #4
    Grazie per la risposta
    le ancore vengo scritte così -> localhost:8888/Roggie-House/#form (sto lavorando sulla versione locale)

    per quanto riguarda gli allert non ho capito cosa devo scrivere dopo gli "if" ..... come avrai capit non sono pretico di codice

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice HTML:
    $(function() {
    alert('richiamato lo script')
      $('a[href*=#]:not([href=#])').click(function() {
    alert('richiamato il click')
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
    alert('pathname e hostname combaciano')
          var target = $(this.hash);
          target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
          if (target.length) {
    alert('elemento esistente')
            $('html,body').animate({
              scrollTop: target.offset().top
            }, 1000);
    alert('scrollo')
            return false;
          }
        }
      });
    });

  6. #6
    Ciao, ho provato a sostituire il codice con quello da te modificato ma non cambia nulla.
    Cliccando sulle voci di menu il sito scrolla alle ancore di riferimento ma senza effetto "smooth"

    … una domanda come faccio a sapere se lo script viene caricato?

    Ciao

    Quote Originariamente inviata da Xinod Visualizza il messaggio
    codice HTML:
    $(function() {
    alert('richiamato lo script')
      $('a[href*=#]:not([href=#])').click(function() {
    alert('richiamato il click')
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
    alert('pathname e hostname combaciano')
          var target = $(this.hash);
          target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
          if (target.length) {
    alert('elemento esistente')
            $('html,body').animate({
              scrollTop: target.offset().top
            }, 1000);
    alert('scrollo')
            return false;
          }
        }
      });
    });

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se non vedi alcun alert o non viene trovato jquery o non viene trovato questo script esterno,
    controlla la console del browser, controlla i percorsi agli script

    ciao

  8. #8
    Ciao, grazie per il support ma temo che mi sto addentrando in una zona che non conosco… (arrivo fino a HTML e css per il resto mi limito a copiare e incollare codice che trova in internet con risultati per lo più deludenti)

    Se vuoi, mi daresti un grande aiuto se mi aiutassi a contrillare gli script
    questo è il sito in questione
    http://rubrikadesign.it/Roggie-House/

    Grazie

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.