2010-07-12 59 views
6

Tôi có một danh sách dài các div lồng nhau. Tôi đang chuyển ID của một phần tử cụ thể (thực sự là một phần tử đoạn) trên chuỗi truy vấn và mở div và phụ huynh của nó. Tuy nhiên, danh sách quá dài, đôi khi phần tử mở ra được ẩn dưới phần dưới cùng của cửa sổ.Cuộn đến một phần tử cụ thể w/jQuery

Làm cách nào để tự động cuộn cửa sổ trình duyệt của người dùng để phần tử được hiển thị ở đầu màn hình?

Bạn có lẽ không cần điều này, nhưng đối với kỷ lục ... danh sách của tôi trông như thế này:

<div id="div1"> 
    <p id="1"></p> 
    <div>stuff</div> 
    <p id="2"></p> 
    <div>stuff</div> 
    <p id="3"></p> 
    <div>stuff</div> 
</div> 
... 
<div id="divN"> 
    <p id="997"></p> 
    <div>stuff</div> 
    <p id="998"></p> 
    <div>stuff</div> 
    <p id="999"></p> 
    <div>stuff</div> 
</div> 
+3

Nó không có giá trị để bắt đầu ID của bạn với một số. – user113716

+4

Yea yea ... đó không phải là mã thực tế. : P – Bryan

Trả lời

12

Bạn có thể sử dụng chức năng scrollIntoView.

$(document).ready(function() { 
    $('#divN').get(0).scrollIntoView(); 
}); 
+1

là điều này sẽ làm việc qua trình duyệt? –

+0

+1 trên câu trả lời này, nhưng với báo trước rằng nó không cuộn nếu mục tiêu đã được xem. @ Russ - Điều này được hỗ trợ rộng rãi cho kiến ​​thức của tôi. – user113716

+0

@Russ: Tôi không nghĩ vậy, nếu không nó sẽ là một tính năng khá hay. Nhưng tôi thực sự nghĩ rằng nó âm thanh tốt là đúng. Đội ngũ cốt lõi của Resig & jQuery sẽ triển khai nó nếu trình duyệt chéo của nó. – jAndy

2

Cách đơn giản nhất để làm điều này là sử dụng Ariel Flesler's scrollTo plugin. Tôi đã sử dụng nó một vài lần trước và nó nhỏ, nhẹ và hoạt động rất tốt.

6

jQuery:

$(document).ready(function(){ 
    $(document.body).scrollTop($('#divN').offset().top); 
}); 
Các vấn đề liên quan