Trasformare jQuery in JS

di Anonimizzato11975 il
3 risposte
Questo codice mi crea conflitto con un altro, ho pensato di trasformarlo in JS ma non so come si fa.
// Fa saltare lentamente in basso sino alla fine delle foto 
jQuery(document).ready(function($) {
 // $("a").on('click', function(event) 
  $("a").on('click', '#salta2', function(event) 
  {
    if (this.hash !== "") {
      event.preventDefault();
      var hash = this.hash;
      $('html, body').animate(
      {
        scrollTop: $(hash).offset().top
      }, 1000, function() {
        window.location.hash = hash;
      });
    } 
  });
});

3 Risposte

  • La tua richiesta non ha senso, almeno messa cosi'.

    JS e' JavaScript,
    jQuery e' una libreria in JavaScript che ti permette di navigare il DOM.
    Lo potresti fare anche a mano, ma ha la stessa utilita' dello scrivere 1+1+1+1+1 al posto di 5: in pratica, non ha senso.

    Spiegati meglio
  • I codici jQuery sono 2: uno che al clic del link fa salire sopra la pagina, l'altro la fa scendere. Il codice che la fa salire non crea conflitto con un plugin, ma è il codice che fa scrollare verso il basso che crea conflitto. I 2 link si possono vedere all'opera quando il menù è in versione device, a tendina. "http://www.albenessereblog.altervista.or"
    <script>
    //Fa salire lentamente fino sopra la pagina
    jQuery(document).ready(function($)
    {
        function ScorriPaginaSopra(Posizione, Velocita)
        {
            $("html,body").animate({scrollTop: Posizione}, Velocita, function(){});
            return false;
        }
        $(".torna-su").click(function()
        {
        //Lo scroll avverrà per 0 pixel (e cioè posizione da raggiungere) ad una velocità di 1 secondo
            ScorriPaginaSopra(0, 1000);
        });
     }); 
     
     // Fa saltare lentamente in basso sino alla fine delle foto 
    jQuery(document).ready(function($) {
     // $("a").on('click', function(event) 
      $("a").on('click', '#salta2', function(event) 
      {
        if (this.hash !== "") {
          event.preventDefault();
          var hash = this.hash;
          $('html, body').animate(
          {
            scrollTop: $(hash).offset().top
          }, 1000, function() {
            window.location.hash = hash;
          });
        } 
      });
    });
    </script>
    
  • Ciao,
    se non specifichi qual'è il plugin e cosa intendi per "conflitto", è un po' difficile aiutarti.

    Cosa mi crea un po' di perplessità nel codice che leggo (ripeto, ad occhio) è l'uso della keyword "this" in un codice chiamato da un evento JQuery. In JavaScript, infatti, this non si riferisce alla funzione in cui è inserito ma alla funzione che chiama quel blocco di codice. Siccome in JavaScript il contesto è mutevole, spesso ci si trova ad avere delle variabili "undefined" visto che l'interprete va a cercare, per esempio, la variabile this.hash nel codice del pulsante che ha avviato quel blocco di codice e non nella funzione originale.

    Di più non riesco a dirti...
Devi accedere o registrarti per scrivere nel forum
3 risposte