Sử dụng giao diện người dùng jQuery, tôi đang cố tạo giao diện với hai vùng chứa có thể cuộn, mỗi vùng chứa nhiều phần tử có thể kéo. Người dùng có thể kéo phần tử từ một vùng chứa này sang vùng chứa khác.Phần tử có thể kéo ẩn bên ngoài vùng chứa
Tính năng giảm không phải là vấn đề. Khi bị bỏ, phần tử được tách ra và được tái tạo ở đúng vị trí bên dưới bố cục mới của nó.
Vấn đề của tôi là các phần tử kéo không thể được hiển thị bên ngoài container khi container đã position:relative;
áp dụng, vì vậy trong khi kéo, nguyên tố này sẽ biến mất khi nó được di chuyển bên ngoài ranh giới container.
Hành vi mặc định này có ý nghĩa, như bình thường người dùng sẽ muốn kéo một phần tử bên trong vùng chứa của nó. Như một giải pháp khác, tôi đã giả định giải pháp sẽ là sử dụng thuộc tính có thể kéo được 'appendTo', mà tôi nghĩ sẽ di chuyển phần tử bên ngoài vùng chứa của nó, nhưng tiếc là điều này dường như không có hiệu lực.
DOM: (mỗi điểm là cuộn và mỗi container có position: relative và là lớn như nó cần phải được để giữ tất cả các yếu tố)
BODY
VIEW 1
CONTAINER
DRAGGABLE ELEMENTS
VIEW 2
CONTAINER
DRAGGABLE ELEMENTS
Javascript:
$('div.card').draggable({
appendTo: 'body',
scroll: false //stops scrolling container when moved outside boundaries
});
Vui lòng xem JSFiddle để được giải thích đơn giản về sự cố. Tôi không muốn bloat ví dụ với mã droppable, do đó, điều này chỉ minh họa các vấn đề kéo. http://jsfiddle.net/Em7Ak/
Rất cám ơn trước.
helper: 'clone' làm việc cho tôi, trong trường hợp mục có thể kéo được vô hình khi nó được kéo ra ngoài ranh giới cha của nó. – Katat
Katat nghe có vẻ như bạn đang thiếu phần phụ: phần thân của giải pháp –
cảm ơn <3, đã lưu ngày của tôi –