2012-07-25 82 views
0

在我的拖放遊戲中,字母被拖動到網格中的單詞上,目的是完成它們並揭示背後的圖像。用戶通過點擊「點擊我!」來選擇單詞拼寫。按鈕。這隨後用一種稱爲「.spellword」的樣式隨機標記一個詞。確保用戶在繼續之前完成給定的單詞

我需要它,這樣字母就可以從其他字以外的字恢復,而不是他們當前所在的字 - 通過點擊我按鈕突出顯示。

這是使按鈕隨機選擇一個單詞並賦予它「.spellword」風格的腳本。

$('#pickNext').click(function() { 
// remove the class from all td's 
$('td').removeClass('spellword'); 
// pick a random word 
rndWord = shuffledWords.sort(function() { 
    return 0.8 - Math.random(); 
})[0]; 
// apply class to all cells containing a letter from that word 
$('td[data-word="' + rndWord + '"]').addClass('spellword'); 
}); 

這裏是我已經應用到我的拖拽元素已經復歸......

$('.drag').draggable({ 

    helper: 'clone', 
    snap: '.drop', 
    grid: [60, 60], 
    revert: function(droppable) { 
     if (droppable === false) { 
      return true; 
     } 

     else { 

      return false; 
     } 
    } 
}); 

謝謝!

+0

所以,基本上,如果用戶拖動信這是不適合當前單詞它不應該被接受?如果是這種情況,您可以輕鬆保存哪些單詞當前處於活動狀態,並禁止修改其他單詞(如果沒有重複單詞)。另外,你能提供一個小提琴嗎? – Zeta 2012-07-25 08:19:31

+0

我需要它,所以如果字母放在任何地方,但要拼寫的話,它們會恢復到原來的位置@Zeta – m0onio 2012-07-26 14:33:23

回答

0

http://jsfiddle.net/bmgonzal/uu99V/

這撥弄回覆信回來,除非它被放入到拼寫單詞的第一個單元是正確的字母。

我已經通過創建變量「validDrop」像這樣做吧..

var validDrop = $('.drop-box.spellword[data-letter='+ $(this).attr('data-letter') +']'); 
     validDrop.addClass('drop'); 

希望它可以幫助

相關問題