我有这样的一组div:
单击红色div之一时,我需要将它们洗牌,但是单击的div应该始终与黄色div交换。
fiddle here
$('.box-red').click(function() {
var container = $('#container');
var nodes = container.children();
for (var i = 1; i < nodes.length; i++) {
container.append(nodes.eq(Math.floor(Math.random() * nodes.length)));
}
});
谢谢
最佳答案
我对此FIDDLE采取了略有不同的方法
放入随机颜色
点击一个盒子
记住盒子的名称和类别
再次将所有盒子随机化
将“单击”框更改为其他类
我尝试使用rgb代码,但未获得一致的结果,因此在SO上有人更新了
一个古老的答案,说这种事情最好通过换班来解决-尤里卡!时刻。似乎可以工作。我想和rgb一起玩更多……不简单。
JS
$('.box').on('click', function(){
getboxcolor = $(this).hasClass('blue');
getboxnum = $(this).attr('id');
newcolors();
if( getboxcolor )
{
$( '#' + getboxnum ).removeClass( 'blue' );
$( '#' + getboxnum ).addClass( 'green' );
}
else
{
$( '#' + getboxnum ).removeClass( 'green' );
$( '#' + getboxnum ).addClass( 'blue' );
}
getboxcolor = '';
getboxnum = 0;
});