jQuery不会删除Memory Game的对
jQuery won't remove pair for Memory Game
我正在使用jQuery和PHP创建一个内存游戏(从这里找到的脚本中解脱出来),本质上我试图做的是,当两张牌匹配时,它们都被移除。但是,我正在使用两个不同的图像进行配对。在 HTML 表单中,每张卡片如下所示:
<div class="card {toggle:'imagename'}">
<div class="off"></div>
<div class="on {toggle:'imageid'}"></div>
</div>
本质上,当选择两张卡时,jQuery应该检查id是否匹配。最初应该检查图像是否匹配,但是作为两个不同的图像,我无法做到这一点(它只显示一个)。下面是jQuery:
function matchingCards(event, params){
$cards = $("."+params.css_class+".on:visible");
$.each($cards, function(index, card){
var $card = $(card);
$card.trigger("card_removed");
$card.parent(".card").unbind("*").before("<div class='card_ph'></div>").remove();
$card = null;
});
$cards_left = $("#game_board>.card");
if ( $cards_left.length == 0 ){
$(document).trigger("game_won", {});
/*
* quickFlip has a problem when working in IE: when the last
* element bound was removed the problem is caused by the bound
* resize event on the window and is causing
* the end game get stuck when the game is over...
*/
$(window).unbind("resize");
}
$cards_left = $cards = null;
};
function checkCards(){
$on_cards = $("#game_board .card>.on:visible");
if ( $on_cards.length == 2 ){
$(document).trigger("player_made_move");
// Get the first object css class
var css_class = $on_cards.parent(".card").metadata()["toggle"];
var $card = $(this);
var this_card = $card.children(".on").metadata()["toggle"];
$matched_cards = $on_cards.filter("."+this_card);
var event_name = "no_match";
if ( $matched_cards.length == 2 ){
event_name = "found_match";
}
if ( css_class == css_class ){
event_name = "no_match";
}
$(document).trigger(event_name, {css_class: css_class});
$matched_cards = null;
}
clearTimeout(chk_cards_timeout);
chk_cards_timeout = null;
$on_cards = null;
};
任何帮助将不胜感激。
附加信息:
这些对具有相同的图像名称,我刚刚在其中一张添加了"_desc"作为CSS类名(即一个图像标题为"i1",另一个标题为"i1_desc")
当发现一对卡片时,它们不会重置到原始位置或消失。
试试这个流程。
1.点击卡片时...将类更改为"打开"。当再次单击时,类将更改为默认的"隐藏"。
。每张卡都有一个 ID image_name+DESC ...因此,2张卡将具有相同的ID。
2.每次点击后,使用 jQuery each() 函数搜索"open"类并获取元素的 id。
3)比较这两个id,如果相似,则再次使用each()函数删除元素。如果您不使用 each() 函数,则只会删除 1'st 元素。
PS:别忘了数数,跟踪ID,得分..等。
。each() 函数在操作 http://api.jquery.com/jQuery.each/
相关文章:
- 如何更改html中复选框的对齐方式
- 我想使用的模板上的Firefox和IE的对齐问题
- 为什么不't此正则表达式适用于重复出现的对
- 使用 ajax 作为注释表单,它给了我 500 个内部错误,但没有脚本它可以工作,这意味着我的脚本是错误的;对
- 如何防止 td 中的文本破坏表格的对齐方式
- 将字体颜色添加到搜索框中的对焦事件
- 控制文本在 iframe(同一域)中的对齐和浮动
- 输入时的对焦和模糊事件
- 画布中的对齐错误
- 如何制作捕捉到浏览器两侧的对齐标题
- 如何组合来自不同JS文件的对Ajax数据库的多次调用
- jQuery不会删除Memory Game的对
- 被推送到空数组的对象是'在脚本中无法访问
- getAttribute对于不同的对象是相同的
- 谷歌地图API Javascript上的对齐
- Javascript中逗号分隔的对象是什么
- 为什么JQuery事件处理程序引起的(对CSS属性的)更改只是暂时出现
- 为什么我的对象是n'如何检查var是否是一个对象
- 如何更改高图工具提示的对齐方式
- 找出差值大于或等于给定数的对的个数