0
我需要藉助動畫顯示數組排序。我創建一個數組。我用隨機數填充它,同時在頁面上創建一個元素。看起來一切都是如此。但由於某些原因,搜索標籤的內容是不可能的。一個錯誤。數組排序動畫
function changeElems(firstElem, secondElem) {
var firstElemCoords = $(firstElem).offset();
var secondElemCoords = $(secondElem).offset();
$(firstElem).animate({
left: secondElemCoords.left - firstElemCoords.left + 'px',
top: secondElemCoords.top + 'px'
});
$(secondElem).animate({
left: firstElemCoords.left - secondElemCoords.left + 'px',
top: firstElemCoords.top + 'px'
});
}
// changeCircle($('.circle')[0], $('.circle')[1]);
var array = [];
for (var i = 0; i < 5; i++) {
var number = Math.floor(Math.random() * 50);
$('body').append($('<div class="circle">').text(number));
array.push(number);
}
array.sort(function(a, b) {
if (a < b) changeElems("$('.circle:contains(" + a + ")')", "$('.circle:contains(" + b + ")')");
return a - b;
});
.circle {
width: 50px;
height: 50px;
background: red;
border-radius: 50%;
text-align: center;
line-height: 50px;
color: white;
float: left;
margin-right: 5px;
position: relative;
}
.circle:last-child {
margin-right: 0;
}
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
沙盒:http://jsbin.com/dolucojahi/edit?js,output
謝謝!元素如何按順序排序? – Aleksandr
你將不得不實現自己的排序算法,而不是在.sort() –
中進行比較,我認爲使用數組排序功能可以使它更容易... – Aleksandr