2013-09-03 54 views

Trả lời

8

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

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

Chỉ cần sử dụng chiều cao .expander của bạn.
Nếu bạn cần điều này là biến bạn có thể làm điều này: 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); 
}); 

Bạn đang sử dụng một tên lớp thay vì một id. Bạn phải cuộn đến một phần tử duy nhất.

2

DEMO

SỬ DỤNG:

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

CẬP NHẬT

Scrolling the div Demo

Sử dụng này, Bí quyết là ở scrollHeight xem câu trả lời của tôi ở đây 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

là cuộn sẽ này xuống đáy của div hoặc chỉ dưới cùng của trang mặc dù? – user1502223

+0

trang nếu bạn muốn cuộn div thay thế html, nội dung bằng tên div của bạn và vượt qua chiều cao div thay vì chiều cao tài liệu –

+0

Đảm bảo bạn đặt overflow-y: cuộn và bạn có một số nội dung trong bạn div quá –

1

thử loại này để thay thế.

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

bản demo http://jsfiddle.net/CLzfW/17/

+0

điều này đi đến dưới cùng của trang trình duyệt mặc dù và không phải dưới cùng của div – user1502223

Các vấn đề liên quan