使用以下插件时,任何人都可以建议如何使交换的框在单击时更改背景颜色?
http://www.vertstudios.com/blog/swap-jquery-plugin/(见演示)
我不确定如何链接到 JSFiddle 中的插件,所以很遗憾无法演示。
这些方法对所有框的位置进行动画处理,仅影响位置已更改的框。我正在尝试添加一种类似地为背景颜色设置动画但没有成功的方法。
我认为如果不自定义插件这是不可能的,但我可能是错的。
更新:
谢谢约翰。我应该说我实际上需要背景颜色在交换后动画回默认值。我已经通过以下修改尝试了您的解决方案。如您所见,它的行为不一致。我认为正确执行此操作的方法是自定义 fakeFloat 方法。
$("#swapTrigger").click(function()
{
var index1 = $('input:radio[name=index1]:checked').val();
var index2 = $('input:radio[name=index2]:checked').val();
boxes = $(boxes).swap(index1,index2);
var $box1 = $('.box').eq(index1);
var $box2 = $('.box').eq(index2);
var randomHex = '#fc0';
$box1.animate({ backgroundColor: "#fc0" }, 300);
$box2.animate({ backgroundColor: "#fc0" }, 300);
$(boxes).fakeFloat({margin: 10, offset: 20, speed: 300}).each(function()
{
$box1.animate({ backgroundColor: "#fff" }, 300);
$box2.animate({ backgroundColor: "#fff" }, 300);
$(this).html($(this).getIndexOf(boxes));
});