2011-01-24 28 views
6

Tôi đang cố tạo một trang dựa trên portlet nơi các portlet có các kích thước khác nhau.Giao diện người dùng Jquery, "vùng chết" với các portlet có thể sắp xếp

Vấn đề là làm việc xung quanh "vùng chết" ở bên trái của "2.2 portlet", "1.1 portlet" hoặc "2.1 portlet" sẽ phù hợp với không gian, nhưng có thể hoàn thành và cách ?

Chiều rộng của trang là cố định và nên tiếp tục như thế, http://www.jsfiddle.net/XF2pV/

Tôi mở cho ý kiến ​​về các khuôn khổ khác nếu jQuery UI không thể đồng lõa này.

Trả lời

1

Rất tiếc, phương pháp này không hoàn thiện. Việc sử dụng jquery có thể sắp xếp với bố cục lưới các mục có kích thước khác nhau sẽ dẫn đến hành vi này. Lý do là trong html và css, bạn đang tạo một danh sách các mục được thả nổi bên trái, mà khi được phép bọc trong một thùng chứa có chiều rộng cố định, sẽ để lại các khoảng trống hiệu quả không sử dụng được.

Thực tế là chiều rộng vùng chứa của bạn được cố định và các ô của bạn có kích thước cố định có nghĩa là sẽ dễ dàng thử một cách khác để định vị chúng. Hãy thử sử dụng định vị tuyệt đối bằng cách sử dụng chỉ css và html để có được tất cả các khoảng trống được điền chính xác như ban đầu bạn muốn, sau đó thử nghiệm với javascript để di chuyển các hộp xung quanh. Tuy nhiên, tôi nghi ngờ rằng thư viện jQuery 'có thể sắp xếp' sẽ hoạt động khi sử dụng định vị tuyệt đối (tôi phải thừa nhận là tôi chưa bao giờ sử dụng nó) Với định vị tuyệt đối, có khả năng là nhận được các mục để 'di chuyển ra khỏi con đường' khi bạn kéo thứ gì đó qua chúng thì sẽ có vấn đề. Bạn có thể cần phải xác định trên tập hợp các div ẩn hoạt động như 'lưới' của bạn - hoặc những nơi bạn có thể thả nội dung và một tập hợp div khác chứa nội dung hiển thị mà bạn muốn di chuyển. JQuery có thể kéo và thả được sẽ giúp ích, nhưng bạn sẽ cần phải viết mã nhiều hơn để đảm bảo các mục bạn di chuyển 'snap' vào vị trí, di chuyển người khác ra khỏi đường khi bạn thả chúng.

Điều này có vẻ liên quan https://stackoverflow.com/questions/2133677/jquery-sortable-divs-replicate-bbc-home-page có thể bạn có thể kiểm tra mã nguồn của trang chủ BBC. http://bbc.co.uk

+0

Cảm ơn Greg, chiều rộng cột cố định không phải là một lựa chọn cho khách hàng của tôi. Tôi đã xem xét các giải pháp của BBC trước đây, không may là có vẻ như BBC đã gỡ bỏ tính năng drag'n'drop dựa trên cột của nó? – anderssonola

+2

Giải pháp trên Citifirst, đường nối hoạt động giống như @ Gregg-Woods gợi ý ... [se.citifirst.com] (https://se.citifirst.com/SV/Showpage.aspx) – anderssonola

0

Tôi đã xem qua câu hỏi này đang cố gắng giải quyết vấn đề cho bản thân mình.

Tôi đang trong lần lặp đầu tiên của mình khi thử cách giải quyết: sử dụng vùng chứa chính làm vật phẩm có thể phân đoạn.

Xem https://stackoverflow.com/a/11352922/704827

0

Có một plugin, ShapeShift mà làm công việc độc đáo

+0

Cảm ơn bạn đã trả lời nhanh, 4years later :-) Hoever the Shapeshift cũng tạo ra những khoảng trống và rất khó để theo dõi thứ tự các mục – anderssonola

+0

Nó chỉ là tôi có cùng một vấn đề và tôi đang thử tất cả các thư viện không thành công: (Điều gì hóa ra là một giải pháp cho bạn? – christina

+0

Chúng tôi đã viết thư viện riêng của chúng tôi để giải quyết vấn đề. Đó là một giải pháp "nhanh hơn vào lưới". – anderssonola

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