2013-09-03 17 views

Odpowiedz

8

Demo: http://jsfiddle.net/CLzfW/4/

$('.button').click(function(e){ 
    e.preventDefault(); 
    $('.expander').slideToggle(); 
    $('html, body').animate({ 
     scrollTop: 1000 
    }, 2000); 
}); 

Wystarczy użyć wysokość .expander.
Jeśli trzeba, że ​​jest to zmienna można to zrobić: http://jsfiddle.net/CLzfW/26/

var scroll_to = $('.expander').offset().top + $('.expander').height(); 
$('.button').click(function(e){ 
    e.preventDefault(); 
    $('.expander').slideToggle(); 
    $('html, body').animate({ 
     scrollTop: scroll_to 
    }, 2000); 
}); 
1
$("#something").click(function() { 
    $('html, body').animate({ 
    scrollTop: $("#element").offset().top 
}, 1000); 
}); 

Używasz nazwę klasy zamiast identyfikator. Musisz przewinąć do unikalnego elementu.

2

DEMO

USE:

$('html, body').animate({scrollTop: $(document).height()}, 'slow'); 

UPDATE

Scrolling the div Demo

Użyj tego, Sztuką jest w scrollHeight zobaczyć moją odpowiedź tutaj How do I get the “auto” height of a DIV

$('.button').click(function(e){ 
    e.preventDefault(); 
    $('.expander').slideToggle(); 
    $('.expander ').animate({scrollTop: $('.expander')[0].scrollHeight}, 'slow'); 
    $('html, body').animate({scrollTop: $(document).height()}, 'slow'); 
}); 

Scroll Based on div scroll Height

+0

czy to będzie przewijania do dołu div lub tylko dolnej części strony chociaż? – user1502223

+0

strona, jeśli chcesz przewinąć div, zamień html, body na div name i podaj wysokość div zamiast wysokości dokumentu –

+0

Upewnij się, że ustawiłeś przepełnienie-y: przewiń i masz trochę rzeczy w sobie div –

1

spróbuj zamiast tego.

$('.button').click(function(e){ 
    e.preventDefault(); 
    $('.expander').slideToggle(); 
    $("html, body").animate({ scrollTop: $(document).height() }, 2000); 
}); 

demo http://jsfiddle.net/CLzfW/17/

+0

to idzie do dolnej części strony przeglądarki, ale nie na dole div – user1502223