我正在尝试创建一个功能,允许将可拖动的项目列表(左列)拖到可排序列表(右列)上。仅执行 connectToSortable 的不同之处在于,我需要可排序列表像可放置列表一样操作,因为只有在拖动新项目时才会在右列中保留项目的顺序,但在重新安排项目之间的顺序时不会保留已经在右栏中。
下面的链接显示了该功能的第一部分。我可以将项目拖到我想要的部分。一旦放置在右栏中,我还希望能够重新排列这些项目。另外,我想在拖动时添加一个类,并更改一个类
元素一旦掉落。我已经对所有这些进行了无休止的实验。到目前为止,我大约有 15 个小时的深度,而且我到处都是砖墙。我什至不知道如何解决这些问题。
我想从这里复制:
<div id="lc">
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_merch.jpg" alt="Merchandise" /></div></li>
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_facebook.jpg" alt="Facebook" /></div></li>
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_tickets.jpg" alt="Tickets" /></div></li>
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_artistsite.jpg" alt="Artist Site" /></div></li>
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_myspace.jpg" alt="Myspace" /></div></li>
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_twitter.jpg" alt="Twitter" /></div></li>
<div class="block"><img src="../../resources/skins/crowdtwist.com/images/artist_center/pscales_music.jpg" alt="Music" /></div></li>
</div>
进入:
<div id="rc">
<ul id="right_col" class="ib-fix demo-ul"><!--
--><li><div class="right_block" id="right_block_1"><p class="empty">1</p></div></li><!--
--><li><div class="right_block" id="right_block_2"><p class="empty">2</p></div></li><!--
--><li><div class="right_block" id="right_block_3"><p class="empty">3</p></div></li><!--
--><li><div class="right_block" id="right_block_4"><p class="empty">4</p></div></li><!--
--><li><div class="right_block" id="right_block_5"><p class="empty">5</p></div></li><!--
--><li><div class="right_block" id="right_block_6"><p class="empty">6</p></div></li><!--
--><li><div class="right_block" id="right_block_7"><p class="empty">7</p></div></li><!--
--></ul>
</div>
这是JS
$(document).ready(
function()
{
/* $("#right_col > li").droppable({
activeClass: '.beingDragged'
});*/
$(".block").draggable({
snap: '#right_col > li',
snapMode: 'inner',
snapTolerance: '30',
connectToSortable:'#right_col',
start: function(event, ui) { $(ui.item).addClass('beingDragged'); },
stop: function(event, ui) { $(ui.item).removeClass('beingDragged'); }
});
$('#right_col').sortable({
});
}
);
任何帮助表示赞赏!谢谢!