Q
向上滑動剩餘項目
2
A
回答
1
這是相當困難的測試,但從我對這個問題的知識是一個可能的原因/解決方案。
droppable
插件不會將拖動的元素從其原始標記位置中移除,而是將其可視化地移動到可放置元素(允許接受放棄某些元素或不允許事件等)。
元素有一個position: relative
css規則,它表示元素的「正常流程」(按它們在標記中出現的順序)。因此,即使元素可視化地放置在頁面上的其他地方,它在標記中的位置仍然相同,並且仍然佔用它通常應該使用的空間。
這fiddle說明什麼,我試圖解釋:-)
通過查看源代碼形式的「工作網站」,他們實際上從原來的可拖動列表中刪除拖動的元素,並重新創建它在可丟棄的列表中!
當他們定義.droppable()
他們這樣做:
h.droppable({
tolerance: "intersect",
accept: ".card",
greedy: true,
drop: function (a, b) {
card = b.draggable;
putCardIntoStack(card, c)
}
});
在drop
事件,他們稱之爲putCardIntoStack(card, c)
傳遞當前拖動的元素作爲card
參數。在這個方法中,他們刪除原來的「卡」(a.remove()
)和懸浮窗(newcard = createCard();
)重新創建:
function putCardIntoStack(a, b) {
progressVal = $('#progBarRd').width();
card_idDOM = a.attr('id');
card_idDB = card_idDOM.substr(IDPREFIX_CARD.length, card_idDOM.length - IDPREFIX_CARD.length);
stack_idDB = b.substr(IDPREFIX_STACK.length, b.length - IDPREFIX_STACK.length);
$.ajax({
url: URL_DRAGDROPAJAX,
type: 'POST',
data: 'action=movecard&cardid=' + card_idDB + '&tostack=' + stack_idDB + '&prog=' + progressVal
});
// 'a' is the card
// they extract the id/content from the dragged card
cardId = a.attr('id');
cardLabel = a.text();
// they remove the card from the DOM
a.remove();
// they create a new card with the extracted info
newcard = createCard(cardId, cardLabel);
newcard.addClass('stackcard');
// and append it to the dropzone
$('#' + b).removeClass("empty").find('.stackDrop').append(newcard);
globalcheck()
}
jQuery用戶界面確實在droppable demo page類似的事情。在drop
事件中,他們調用函數deleteImage()
,該函數從原始標記中刪除拖動的圖像並將其附加到放置區域。
我希望我足夠清楚:-)
我也希望我是對的,這是很困難的快速測試,但它是有道理:-)
相關問題
- 1. 剩餘項目的列表分區
- 2. 剩餘的空間留給項目SQL
- 3. 隱藏StackPanel項目 - >調整剩餘項目的位置
- 4. 剩餘EJB項目不在Wildfly 8.0上部署
- 5. 如何在WPF wrappanel中向上或向下滑動子項目?
- 6. 向上滑動選定的列表視圖項目的動畫
- 7. JQuery向上滑動和向下滑動
- 8. 向上滑動/向下滑動
- 9. 向上滑動和向下滑動
- 10. 的Android滑出動畫,剩餘空間被其它視圖
- 11. 在ListView項上向右滑動手指
- 12. 向量矢量中添加一個新項目並將其剩餘部分向右移動
- 13. 向上滑動和向下滑動滑動屏幕
- 14. 在Android的Webview上向上滑動和向下滑動動畫
- 15. 剩餘序列
- 16. 的剩餘天
- 17. 剩餘輸出_
- 18. Mathematica,剩餘零
- 19. 剩餘的值
- 20. 滑動/向上ngAnimate?
- 21. 向上滑動UIView
- 22. JQuery.slideDown()向上滑動
- 23. 向上/向下滑動UINavigationController
- 24. 在ListView項目上滑動 - WP8.1
- 25. CSS浮動剩餘邊緣自動div?
- 26. 刪除項目後,ListView中的剩餘項目位置不正確
- 27. 向下滑動,向上滑動格上單擊
- 28. 使項目使用剩餘空間的寬度
- 29. 如何檢查數組中的剩餘項目?
- 30. jquerymobile listview events - 應用過濾器後剩餘項目的數量
哦,非常有意義。挖掘之後,我開始得出一個結論,我自己說這一切都與DOM操作有關。我想我可以將.remove(從原始面板)和.append(到新區域)添加到在放置時觸發的功能。只需要弄清楚如何。 :)非常感謝jsfiddle的洞察力和+1。 – santa