2012-10-24 30 views
5

Tôi có hình nền có lỗ vào để chúng tôi có thể nhìn thấy hình ảnh bên dưới. Tôi đặt một hình ảnh khác bên dưới hình nền, để nó có thể nhìn thấy qua lỗ. Bây giờ tôi cần phải kéo hình ảnh dưới đây từ lỗ trong suốt.Kéo hình ảnh bên dưới một hình ảnh khác bằng jquery draggable

ảnh Bối cảnh: enter image description here

Tôi đưa hình ảnh khác đằng sau nó sử dụng z-index và liên kết kéo với nó. Tôi muốn hình ảnh bên dưới có thể kéo được nếu tôi kéo vào lỗ tròn. Hiện tại nó sẽ không xảy ra khi tôi có liên kết kéo được với một div khác nằm phía sau và tôi đang kéo trên div phía trên nó. Làm thế nào tôi có thể làm cho sự kiện kéo trên div trên được tuyên truyền để div dưới đây và nó được kéo?

Tôi hy vọng tôi rõ ràng ở đây.

của tôi div:

<div class="container"> 
<div id="screen"> 
    <img src="kailash.jpg" class="drag-image" id="draggable"/> 
</div> 
<div id="bg"> 
    <img src="final.png"/> 
</div> 
</div> 

EDIT: Bất kỳ phương pháp khác để đạt được điều này cũng có thể được chấp nhận. Đã thêm JsFiddle ví dụ

EDIT: Asad đã đưa ra giải pháp tốt hơn bên dưới, nhưng nó không hoạt động trong IE và Opera. Mặc dù điều này có thể đạt được bằng cách sử dụng kích hoạt. chỉ cần thêm đoạn mã này trong dung dịch Asad của:

$("#bg").mousedown(function(event){ 
    $("#draggable").trigger(event); 
}); 

và loại bỏ:

pointer-events: none 

từ CSS. bạn có thể tìm thấy ví dụ làm việc ở đây (trình duyệt chéo): JsFiddle.

Hope this helps một số khác quá :)

+0

bạn có thể vui lòng làm một jsfiddle? –

+0

Đây là: http://jsfiddle.net/kailash19/DZK4w/1/ – kailash19

+0

Tôi đã cập nhật fiddle của bạn bên dưới –

Trả lời

5

Đây là một số đang hoạt động example. Tôi đã chỉ cần đặt pointer-events:none; trên div bg và hình ảnh chứa.

EDIT: Như Kailash đã chỉ ra dưới đây, đề nghị ban đầu của tôi là trình duyệt tương thích hơn, vì vậy tôi đang post lại nó ở đây cho hậu thế:

$('#bg').mousedown(function(ev) { 
    $('#screen').trigger(ev); 
}); 
+0

các tác phẩm của nó, cảm ơn. Bạn có thể giải thích nó không? cũng kéo được thực hiện từ bất kỳ phần nào của hình ảnh, tôi có thể bằng cách nào đó làm cho nó có thể kéo chỉ khi nhấp vào lỗ? – kailash19

+0

Có, tôi đang làm việc trên đó ngay bây giờ. Lời giải thích rất đơn giản; thiết lập các sự kiện con trỏ thành không có nghĩa là phần tử bây giờ là minh bạch trong tương tác chuột. –

+0

ok, cảm ơn, tôi thực sự đánh giá cao những nỗ lực của bạn – kailash19

1

Có một drag event được kích hoạt khi di chuyển div trên. Sử dụng và chỉ thay đổi vị trí của hình ảnh bên dưới theo vị trí của div

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