2012-04-07 5 views
0

Was ich will ist, verwenden Sie einen Effekt, der viel glatter nach unten und oben scrollen, als die Funktion, die ich habe.Kann ich in jQuery slideDown() als Scroll-Down-Funktion für ein div mit großem Inhalt verwenden?

Ich habe ein äußeres div (mit Überlauf: versteckt) und ein div kleiner in der Breite (class = 'all_content').

<a href='#' class='up'>Up</a> 
<a href='#' class='down'>Down</a> 
<div class='container'> 
<div class='all_content'> All the content is here </div> 
</div> 

Ich habe diesen Code:

$(".down").click(function() { 
     $(".all_content").animate({marginTop: '-=20px'}, 0); 
    }); 

$(".up").click(function() { 
     $(".all_content").animate({ marginTop: '+=20px' }, 0); 
    }); 

Aber es fühlt sich wirklich schlampig mit, dass + 20px-Marge.

Kann ich slideDown() verwenden? Soll ich den scrollTop damit benutzen?

Vielen Dank im Voraus

+0

Ich weiß nicht wirklich Bekommen Sie die Frage, aber vielleicht ist es hilfreich, wenn Sie etwas HTML posten. – NicoSantangelo

+0

Hallo, danke für deine Antwort. Ich aktualisiere meinen Beitrag. Grüße – alexx0186

Antwort

2

Sie zum scrollTo() plugin wollen werden, die Sie wie folgt aufrufen können:

$(".all_content").scrollTo({top: "+20px"}, 1000); 

Edit: Hier ist eine überarbeitete Version des Codes Sie auf dem Laufenden:

$(".down").click(function() { 
    $(".all_content").scrollTo({ 
     top: '-=20px' 
    }, 1000); 
}); 

$(".up").click(function() { 
    $(".all_content").scrollTo({ 
     top: '+=20px' 
    }, 1000); 
});​ 

Stellen Sie sicher, dass Sie das scrollTo-Plug-in enthalten, bevor Sie Ihre js-Hauptdatei (en) hinzufügen.

+0

Hallo, danke für deine Antwort. Ich habe versucht, diese Funktion aufzurufen, nachdem ich das Plugin hinzugefügt habe. Aber die Funktion wurde nicht aufgerufen. Ist das genau so, wie es heißen soll? Danke nochmal – alexx0186

+0

Es ist nur ein Beispiel. Lassen Sie mich den Code, den Sie für die Arbeit mit 'scrollTo' geschrieben haben, überarbeiten. –

+0

Oh ok. Vielen Dank dafür. Grüße – alexx0186

0

Sollte kein Problem sein, wenn Sie Ihre div mit Überlauf definieren: wie folgt bewegen:

div 
{ 
    width:150px; 
    height:150px; 
    overflow:scroll; 
} 
+0

Hallo, danke für deine Antwort. Das Problem ist, dass die angezeigte Bildlaufleiste von Browser zu Browser unterschiedlich aussieht. Was ich will, ist die Verwendung dieser "Up" und "Down" Links, zusammen mit jQuery. – alexx0186

0

Sie jquery scrollTop verwenden können() -Methode:

$(".all_content").scrollTop(20);