拖放拼写游戏风格

时间:2012-07-19 08:16:33

标签: javascript jquery jquery-ui drag-and-drop

我正在创建单词拼写,拖放游戏。当字母拖到表格中的单词时,将根据拼写是对还是错来触发样式。如果正确字会消失以显示背后的图片。如果错误,则样式设置的字母会发红光

我的问题是,在整个游戏的剩余时间里,这些字母会保持红色,这意味着背后的图像无法完成,因为它不会让你拼出红色的单词。我需要在下一个转弯发生的时候去找你的风格,并允许你再拼写这个单词,有人可以帮我这个吗?

这是触发CSS的脚本......

$(".drop").droppable({ 

hoverClass: 'drophover',
drop: function(event, ui) {
    word = $(this).data('word');

    guesses[word].push($(ui.draggable).attr('data-letter'));

    console.log(guesses);

    if (guesses[word].length == 3) {
        if (guesses[word].join('') == word) {
            $('td[data-word=' + word + ']').addClass("wordglow2");


        } else {
            $('td[data-word=' + word + ']').addClass("wordglow");

        }
    }
}
});

这是CSS的原因......

.wordglow {
    -webkit-box-shadow: inset 20px 0px 10px 5px #ff0000;
    box-shadow: inset 0px 0px 10px 5px #ff0000;

}

.drop.wordglow2 {

    -webkit-box-shadow: inset 0px 0px 10px 5px #22ff22;
    box-shadow: inset 0px 0px 10px 5px #22ff22;
    visibility: hidden;
    opacity: 0;


}

我试过这个让错误的答案再次出现......

$('td[data-word=' + word + ']').addClass("wordglow").removeAttr('disabled');;

1 个答案:

答案 0 :(得分:1)

您可以删除activate事件中的课程。因此,当一个物体发红光时,当你再次将它拖到下一个位置时,红色会消失!

$(".drop").droppable({ 
    hoverClass: 'drophover',
    drop: function(event, ui) {
        word = $(this).data('word');

        guesses[word].push($(ui.draggable).attr('data-letter'));

        console.log(guesses);

        if (guesses[word].length == 3) {
            if (guesses[word].join('') == word) {
                $('td[data-word=' + word + ']').addClass("wordglow2");
            } else {
                $('td[data-word=' + word + ']').addClass("wordglow");
            }
        }
    },

    // this event is triggered when a draggable object is activated
    activate: function(event, ui) {
        word = $(this).data('word');

        // try to remove the class
        $('td[data-word=' + word + ']').removeClass('wordglow');
    }
});