0

我正在尝试制作一个简单的拖放游戏,用户需要通过将字符拖入放置区来重新排序某人的名字。

我对拖放动画没问题,但我不能(主要是由于技术上缺乏技能)用这个字母创建字符串以便在它们之间进行比较。

在这里查看我的示例代码jsFiddle

在随机化所有字母之前,我正在使用名称创建第一个字符串dragItemsContent = [];

我有点能够为我拖动的字母创建一个新字符串dragedItemsContent += ui.draggable.text(); 但是当我不想删除任何这些字母时,我无法删除它们,最糟糕的是我不知道如何寻找那个字母的索引并将其从我的字符串中正确删除。

我正在使用data-letrawhich 是每个字母的唯一指标,也许它可以提供帮助。

因此,总而言之,我需要在我的字符串中添加/删除字母(或一些可比较的数据)并比较它们以了解用户是否正确完成游戏。

谢谢

4

3 回答 3

2

非常有趣的游戏。

我已对其进行编辑以显示You Won!Sorry. Please try again.基于结果(拼写出来Fredfigglehorn.

咔哒

重要的部分是:

var letters = $('.drop-area').find('.drag-item');
if (letters.length == dragItemsLength ) {
    var final = '';
    for (var i=0;i<dragItemsLength;i++)
        final += letters[i].innerText.substring(0, 1);
    if (final == 'fredfigglehorn')
        alert("You won!");
    else
        alert("Sorry. Please try again.")
}
于 2013-08-27T05:48:16.467 回答
1

而不是dragedItemsContent += ui.draggable.text();你应该使用dragedItemsContent.push(ui.draggable.text())这种方式,你会得到一个正确顺序的好数组。稍后您可以使用toString来制作字符串并删除,只需从数组中删除元素

您可能还想从 jQuery UI 中查看 sortable,它可以处理几乎所有开箱即用的东西

于 2013-08-27T05:44:19.897 回答
0

我为你做了一个基于比较的拖动项目文本的小提琴,希望它对你有帮助.. http://jsbin.com/oluhuk/2/edit

于 2013-08-27T05:53:10.397 回答