gpt4 book ai didi

javascript - 带有 MxN 矩阵的 jQuery 动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:38:21 24 4
gpt4 key购买 nike

我将一个元素拆分为多个 block (由多个行和列定义),然后淡化这些 block 以创建动画效果。动画类型由 delay() 值决定:

$('.block').each(function (i) {
$(this).stop().delay(30 * i).animate({
'opacity': 1
}, {
duration: 420
});
});

在这种情况下,每个 block 的淡入淡出效果都会延迟(30 * 当前 block 索引)。第一个 block 延迟 0,第二个 block 延迟 30,..... 最后一个 block 延迟 30 *( block 数)。所以这将水平淡化所有 block 。

我已经在此处发布了到目前为止我发现的效果列表:http://jsfiddle.net/MRPDw/ .

我需要帮助的是找到螺旋型效果的延迟表达式,也许还有您认为可能的其他表达式:D

最佳答案

这是一个螺旋图案的代码示例:

  case 'spiral':
$('.block', grid).css({
'opacity': 0
});
var order = new Array();
var rows2 = rows/2, x, y, z, n=0;
for (z = 0; z < rows2; z++){
y = z;
for (x = z; x < cols - z - 1; x++) {
order[n++] = y * cols + x;
}
x = cols - z - 1;
for (y = z; y < rows - z - 1; y++) {
order[n++] = y * cols + x;
}
y = rows - z - 1;
for (x = cols - z - 1; x > z; x--) {
order[n++] = y * cols + x;
}
x = z;
for (y = rows - z - 1; y > z; y--) {
order[n++] = y * cols + x;
}
}

for (var m = 0; m < n; m++) {
$('.block-' + order[m], grid).stop().delay(100*m).animate({
opacity: 1
}, {
duration: 420,
complete: (m != n - 1) ||
function () {
alert('done');
}
});
}
break;

查看它在 this fiddle 中的工作情况.

我还改进了您的“RANDOM”动画,以显示所有方 block ,而不仅仅是一个子集。代码是:

  case 'random':

var order = new Array();
var numbers = new Array();

var x, y, n=0, m=0, ncells = rows*cols;
for (y = 0; y < rows; y++){
for (x = 0; x < cols; x++){
numbers[n] = n++;
}
}
while(m < ncells){
n = Math.floor(Math.random()*ncells);
if (numbers[n] != -1){
order[m++] = n;
numbers[n] = -1;
}
}

$('.block', grid).css({
'opacity': 0
});

for (var m = 0; m < ncells; m++) {
$('.block-' + order[m], grid).stop().delay(100*m).animate({
opacity: 1
}, {
duration: 420,
complete: (m != ncells - 1) ||
function () {
alert('done');
}
});
}

break;

查看它在 this fiddle 中的工作情况.

关于javascript - 带有 MxN 矩阵的 jQuery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5848549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com