Avatar billede sir_madsen Nybegynder
15. december 2011 - 12:08 Der er 6 kommentarer

Stop kørende event i Jquery

Hej Eksperter,

Jeg har en side hvor, når man trykker på en knap, så slider siden stille og rolig ned til et punkt. JEg vil dog gerne have at man undervejs har mulighed for at klikke et hvilke som helst sted (evt. body) på siden, og så stopper den.

Min nuværende kode der får den til at scrolle stille og rolig ned, ser sådan her ud:

<script>
$(document).ready(function() {
   
    $('a[href^="#"]').click(function(event) {
     
        var id = $(this).attr("href");
       
        var offset = 60;
     
        var target = $(id).offset().top - offset;
     
        $('html, body').animate({scrollTop:target}, 100000);

        event.preventDefault();
    });
});
</script>
Avatar billede jokkejensen Novice
15. december 2011 - 12:46 #1
$('html, body').stop() vil stoppe animationen..

Så noget ala:

$('html, body').animate({scrollTop:target}, 100000, function(){
$(this).unbind('click'); //stopper click eventet på html/body
});
$('html, body').click(function(){
$(this).stop();
})
Avatar billede sir_madsen Nybegynder
15. december 2011 - 13:09 #2
Hmm, virker ikke umiddelbart som om det virker, når jeg sætter koden ind... Der sker ikke rigtig noget??
Avatar billede jokkejensen Novice
15. december 2011 - 13:11 #3
kan man se det nogen steder ?

Hvad med:

var animation = $('html, body').animate({scrollTop:target}, 100000, function(){
$(this).unbind('click'); //stopper click eventet på html/body
});
$('html, body').click(function(){
$(animation).stop();
})
Avatar billede sir_madsen Nybegynder
15. december 2011 - 13:27 #4
Yes, du kan se den her: http://madsendesign.dk/godnathistorie/

Tryk på solen for at få slide effekten.
Avatar billede jokkejensen Novice
15. december 2011 - 13:31 #5
ohh det er nok svært at ramme body eller html tagget når footer/header ligger ovenpå :)

var animation = $('html, body').animate({scrollTop:target}, 100000, function(){
$('footer, header').unbind('click'); //stopper click eventet
});
$('footer, header').click(function(){
$(animation).stop();
})
Avatar billede sir_madsen Nybegynder
15. december 2011 - 18:49 #6
Er det mig der gør noget forkert? Når jeg paster din kode ind, sker der stadig intet:S
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester