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

    [jquery] Animazione che si ripete on scroll

    Salve a tutti,
    sto creando una pagina web e voglio far si che quando si scrolla fino ad un certo punto parta una semplice animazione in Jquery che sposti un elemento.
    Il problema è che l'animazione viene eseguita più volte (ho notato che più si scrolla in basso più l'animazione viene eseguita), io invece la voglio eseguire solo una volta, cosa c'è di sbagliato nel codice?
    codice:
    $(document).ready(function(){
        $(window).scroll(function(){
            if ($(window).scrollTop() > 200){
                    $( "#outer:nth-child(2) #center img:nth-child(1)" ).animate({
                      opacity: 0.25,
                      left: "+=50",
                    }, 2000, function() {
                    });
            }
        });
    });
    Se volete vedere con i vostri occhi, il sito è questo (scrollate fino all'img del telefono).
    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, un modo è quello di usare una semplice variabile booleana come flag sulla condizione.

    codice:
    $(document).ready(function(){
      var flag;
      $(window).scroll(function(){
        if ($(window).scrollTop() > 200 && !flag){
          flag = true;
          $( "#outer:nth-child(2) #center img:nth-child(1)" ).animate({
            opacity: 0.25,
            left: "+=50",
          }, 2000, function() {
          });
        }
      });
    });
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova questa
    $(document).ready(function(){
    $(window).scroll(function(){
    if ($(window).scrollTop() > 200 ||$(window).scrollTop() < 210){
    $( "#outer:nth-child(2) #center img:nth-child(1)" ).stop().animate({
    opacity: 0.25,
    left: "+=50",
    }, 2000, function() {
    });
    }
    });
    });
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Grazie mille ad entrambi! Ho provato le 2 soluzioni e funzionano alla grande, grazie ancora!

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.