Richiamare funzione esterna

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho questa funzione che per farla funzionare devo metterla nella home. Io vorrei metterla in un file-esterno.js e richiamarla nella home.
Come si fa?

Codice:
<script>
 $('a[href*="#"]').click(function() {
	if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
  && location.hostname == this.hostname) {
  var $target = $(this.hash);
  $target = $target.length && $target || $('[id=' + this.hash.slice(1) +']');
  if ($target.length) {
  var targetOffset = $target.offset().top;
  $('html,body').animate({scrollTop: targetOffset}, 500);
  return false;}
  }
 }); 
</script>
 
Ciao,
inserisci tutto il codice esclusi i tag <script> </script> nel file file-esterno.js. Nella pagina home, al posto del codice che hai inserito ora, scrivi:

Codice:
<script src="file-esterno.js"></script>
 
Non funziona, io nel file esterno ho già altre funzioni.

Ho dovuto mettere così, per farlo funzionare:

HTML:
 function scroll() {
 $('a[href*="#"]').click(function() {
	if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var $target = $(this.hash);
        $target = $target.length && $target || $('[id=' + this.hash.slice(1) +']');
          if ($target.length) {
        var targetOffset = $target.offset().top;
      $('html,body').animate({scrollTop: targetOffset}, 500);
    return false;}
     }
   }); 
 }

…

<script>scroll();</script>
 
Se hai richiamato il file nello stesso punto del codice HTML in cui avevi lo script del tuo primo post (presumo nel body) deve funzionare.

Se l'hai spostato in head, puoi scriverlo così:

Codice:
$(document).ready(function(){ 

//bla bla bla... 

});
 
Mi funziona proprio come nel post #3, l'ho richiamato nel punto dove prima c'era il codice.

HTML:
<body>

<div id="containerBig">

<!-- Scroll morbido della pagina al segnalibro, va messo qui -->
<script>scroll();</script>

<!-- segnalibroOrdine -->
<div id="segnalibroOrdine">
...
 

Discussioni simili