回答
還沒有嘗試過,但我首先想到的是收集您希望它改變類的區域的x,y座標,高度,寬度。然後,假設你可以得到被拖動的對象的x,y座標,當對象位於這些邊界內時,可以在外部刪除類時添加class。
如果我的區域已經分配了類,該怎麼辦? – santa
爲什麼所有這些工作時有一個jQuery插件來做到這一點? OP確實提到了jQuery ... –
是的,這當然有可能。 jQuery UI提供了一些方便的選項和事件來做到這一點。
對於初學者來說,可拖動的元素在被拖動時總是可以被類.ui-draggable-dragging
引用。
droppable
方法然後提供了一個名爲over
的事件,只要有效的可拖動對象懸停在它上面,它就會執行一個函數。所以,在這個函數中,我們可以參考.ui-draggable-dragging
並向它添加一個類。
Out
和drop
也提供了事件,我們可以用相同的方式定位可拖動元素。下面是它會怎樣看:
$("#droppable").droppable({
// tolerance can be set to 'fit', 'intersect', 'pointer', or 'touch'
tolerance: 'intersect',
// Add .hoverClass whenever #draggable is being hovered over #droppable
over: function(event, ui) {
$('.ui-draggable-dragging').addClass('hoverClass');
},
// Remove .hoverClass whenever #draggable is no longer hovered over #droppable
out: function(event, ui) {
$('.ui-draggable-dragging').removeClass('hoverClass');
},
// Add .dropClass whenever #draggable is dropped on #droppable
drop: function(event, ui) {
$('.ui-draggable-dragging').removeClass('hoverClass').addClass('dropClass');
}
});
上面的代碼添加時#draggable
與#droppable
相交的類,然後替換時#draggable
掉落到#droppable
該類。此外,當兩個元素不再相交時,將刪除.hoverClass
。這是一個working example on jsfiddle。
希望有所幫助。
很好的答案。 mootools/jQuery的拖放功能勝過了HTML5拖放功能中的所有功能,甚至不值得搞亂HTML5的實現。 –
沒有jquery ui的解決方案是什麼? –
我發現使用準備好的回調提供的ui對象很有趣,所以你不必再做一個dom查詢。通過拖放&下降;-) ...
over: function(e, ui) {
$(ui.helper[0]).addClass("success");
}
...
最佳尤其是當每個小的性能提升還是不錯的。
非常有趣,謝謝。 – santa
- 1. Drag Drag拖拽時添加拖拽
- 2. 可拖拽的元素在拖拽的頁面中拖動
- 3. 添加ID拖動時可投放區域下降 - jQuery的拖拽元素
- 4. 如何將CSS類添加到導航元素內的元素
- 5. 將元素拖放到div時,將url名稱添加到url
- 6. 將類添加到同級元素上的元素基礎
- 7. Dragula拖拽一個不同於拖曳的元素
- 8. 將類添加到元素時通過轉換動畫CSS
- 9. jquery同時拖拽兩個類
- 10. AngularJS可選,可拖拽和可拖拽元素
- 11. 更改在運行時添加到DOM元素的CSS類
- 12. 元件拖拽
- 13. 將Css類添加到所有<input type'text'>元素? Javascript/Css?
- 14. 拖動內部元素時調整父元素的大小。 (jqueryUI可拖拽)
- 15. 將CSS屬性添加到元素
- 16. 如何刪除拖拽的元素
- 17. jQuery UI的拖拽元素跳
- 18. Swift中的可拖拽UIButton /元素?
- 19. jQuery的拖拽元素和Droppables定位
- 20. 拖拽元素的位置(MouseDragElementBehavior)
- 21. html5 - 可拖拽的輸入元素
- 22. css&jQuery:點擊/拖拽改變尺寸的元素
- 23. 將元素從一個區域拖拽到另一個區域
- 24. Jquery ui可拖動和可拖拽:將元素對齊到網格的中心
- 25. 在僞元素上添加CSS類
- 26. 如何將新圖標添加到HTML元素的CSS類
- 27. 如何將CSS類添加到Meteor中的body元素?
- 28. 將css類添加到Angularjs中的標記元素
- 29. 將CSS class y添加到類x的元素中?
- 30. jquery ui可拖拽/可拖拽,掉落時可交換拖拽
結束時添加類,刪除並添加新類時被刪除? –
您是否使用jQuery UI庫(可拖動/可拖放的交互)? –
是的,我使用拖放jQuery UI。 – santa