gpt4 book ai didi

javascript - 克隆动画属性

转载 作者:行者123 更新时间:2023-11-28 02:45:21 24 4
gpt4 key购买 nike

我最近更改了我的拖放游戏,以方便年轻用户使用。

基本上,您不再需要拖放字母来拼写单词,而是单击该字母,它就会自动动画到正确的区域。

我的问题是,当我具有拖放功能时,字母会克隆,这样您就可以在游戏中多次使用每个字母。现在他们不这样做了。

在拖放事件之外还有其他方法可以做到这一点吗?

$('.drag').on('click', function(e) {
e.preventDefault();

var target = $('.drop-box.spellword:not(.occupied):first');
var targetPos = target.position();
var currentPos = $(this).offset();
var b = $(this);

if(target.length) {


if(b.attr("data-letter") == target.attr("data-letter")){
$(this).addClass('wordglow3').css('color', 'white');
$('.minibutton').prop('disabled', true);
} else {
$(this).addClass('wordglow');
$('.minibutton').prop('disabled', true);
}


b.remove().appendTo('table').css({
'position' : 'absolute',
'top' : currentPos.top,
'left': currentPos.left
});
{
b.animate({
top : targetPos.top,
left : targetPos.left
}, 'slow', function() {
b.remove().css({ top: 0, left: 0 }).appendTo(target);
target.addClass('occupied');
});
}
}
});

这就是我在拖放功能中使用的...

    $('.drag').draggable({
helper: 'clone'
});

最佳答案

您可以clone()元素和 animate()克隆:

if (target.length) {
$(".minibutton").prop("disabled", true);
b.clone().addClass(
b.data("letter") == target.data("letter") ? "wordglow3" : "wordglow"
).appendTo("table").css({
background: "transparent",
position: "absolute",
top: currentPos.top,
left: currentPos.left
}).animate({
top: targetPos.top,
left: targetPos.left
}, "slow", function() {
$(this).css({
top: 0,
left: 0
}).appendTo(target);
target.addClass("occupied");
});
}

(顺便说一句,您不必在 appendTo() 之前调用 remove(),因为如果该元素已有父元素,该元素将会被移动。 )

关于javascript - 克隆动画属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983134/

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