我正在创建单词拼写,拖放游戏。当字母拖到表格中的单词时,将根据拼写是对还是错来触发样式。如果正确,字会消失以显示背后的图片。如果错误,则样式设置的字母会发红光。
我的问题是,在整个游戏的剩余时间里,这些字母会保持红色,这意味着背后的图像无法完成,因为它不会让你拼出红色的单词。我需要在下一个转弯发生的时候去找你的风格,并允许你再拼写这个单词,有人可以帮我这个吗?
这是触发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');;
答案 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');
}
});