2014-11-11 12 views
5

Tôi đang cố gắng tự động ghi vào hàng giữa trong sổ lệnh.Cuộn đến phần tử và định vị nó ở giữa chế độ xem

Tôi có orderBook div, trong đó bảng có orderBook được đặt. Và một trong những hàng của bảng đó có id middleRow. Những gì tôi đang cố gắng làm là cuộn và định vị hàng đó ở giữa orderBook.

Kết quả mong đợi được hiển thị trên hình ảnh:

enter image description here

Tôi đã tryied jQuery scrollTo chức năng, nhưng nó đặt hàng giữa trên cùng của màn hình, như hình dưới đây:

$ ('# orderBook'). tìm ('. tableBody'). scrollTo ('# orderBookMiddleRow')

enter image description here

Trả lời

9

http://demos.flesler.com/jquery/scrollTo/

Bạn có thể chỉ định một bù đắp cho di chuyển của bạn như thế này:

$('#orderBook').find('.tableBody').scrollTo('#orderBookMiddleRow', 500, {offset: -$(window).height() /2}) 

Dưới đây là một bằng chứng thực sự đơn giản của khái niệm: http://jsfiddle.net/6k8asog1/

Edit: Đây là mã sửa đổi OP cho di chuyển đến trung tâm của #orderBook, thay vì cửa sổ:

$('#orderBook').find('.tableBody').scrollTo('#orderBookMiddleRow', 500, {offset: $('#orderBook').offset().top - $('#orderBook').height() - $('#orderBookMiddleRow').height() }) 
+0

không hoạt động như mong đợi ... Tôi nghĩ bởi vì bù đắp được đặt trên chiều cao cửa sổ và đơn đặt hàng không nằm trên đầu cửa sổ –

+0

$ ('# orderBook'). Find ('. TableBody'). ScrollTo (' #orderBookMiddleRow ', 500, {offset: $ (' # orderBook '). offset(). top - $ (' # orderBook '). height() - $ (' # orderBookMiddleRow '). height()}) –

+1

ở trên một công trình như mong đợi, chỉ cần chơi xung quanh với mã của bạn xin đúng và tôi sẽ đánh dấu là đã giải quyết –

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