javascript - 克隆动画属性

标签 javascript jquery jquery-ui

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

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

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

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

$('.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/

相关文章:

javascript - Select2 仅更新禁用选项一次

javascript - fb.login 响应始终返回 true

javascript - 如何检查 jqueryUI 自动完成下拉框是否打开

javascript - 转到新选项卡时 Accordion 会弄乱

css - 简单模式弹出窗口适用于除 IE8 和 IE9 以外的所有浏览器

javascript - 使用 Underscore.js 从按某些属性排名的数组中检索前 n 个元素

javascript - 在 HTML 5 Canvas 的每一侧对齐文本

javascript - 在jquery中的一条消息中显示多个警报

Javascript - 在 JSON 文件中存储我的游戏的高分

javascript - 选中/取消选中所有子复选框 jquery bootstrap