jQuery实现拼图小游戏
小熊维尼拼图 2017-07-23 21:59:48
jQuery代码实现拼图小游戏,鼠标选中拼块,用上下左右键移动拼块。

<div id="box-div">
<!--走不通时的提示!-->
<div id="tips">
<p>\(╯-╰)/ 哎呦,走不通啦!</p>
</div>
<div id="container">
<div class="row">
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_01.png" alt="photo1"/></div>
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_02.gif" alt="photo2"/></div>
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_03.gif" alt="photo3"/></div>
</div>
<div class="row">
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_04.gif" alt="photo4"/></div>
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_05.gif" alt="photo5"/></div>
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_06.gif" alt="photo6"/></div>
</div>
<div class="row">
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_07.gif" alt="photo7"/></div>
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_08.gif" alt="photo8"/></div>
<div class="unit"><img src="http://yn321.cn3v.net/images/weini_part_09.gif" alt="photo9"/></div>
</div>
</div>
</div
#box-div {
position: relative;
width: 508px;
height: 631px;
margin: 0 auto;
} #container {
width: 508px;
height: 631px;
margin: 0 auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #d5e0e6;
} #container > .row {
display: -webkit-box;
white-space: nowrap;
} #container > .row > .unit {
width: 169px;
height: 209px;
display: inline-block\9;/*兼容IE9/10*/
vertical-align: top\9;/*兼容IE9/10*/
box-sizing: border-box;
border: 1px solid rgba(7, 157, 239, 0);
} #container > .row > .unit.move {
border: 1px solid rgba(7, 157, 239, 1);
} #tips {
width: 200px;
height: 50px;
background: rgb(152, 206, 50);
position: absolute;
z-index:;
top: -50px;
left: calc(50% - 100px);
opacity:;
} #tips > p {
margin:;
line-height: 50px;
text-align: center;
color: white;
}
.directions{
width:50%;
margin:0 auto;
text-align: center;
line-height: 30px;
color: white;
background-color: #a7cbf0;
}
$("#container>.row>.unit>img").each(function () {
$(this).click(function (event) {
event.stopPropagation();
$(".unit").removeClass("move");
$(this).parent(".unit").addClass("move");
})
});
move(".move","#tips");
function move(className,idName) {
/* 提示信息 */
function tipsAlert(idName) {
$(idName).animate({top: "0", opacity: "1"}, 500);
setTimeout(function () {
$(idName).animate({top: "-50px", opacity: "0"}, 800);
}, 1000)
}
/* 上下左右按键移动 */
$(document).keydown(function (e) {
var code = e.keyCode;
if (code > 40 || code < 37) {
return false;
}
var prev = $(className)[0].previousElementSibling;//选中元素前置位元素是否存在,以此判断元素是否还可以左右移动
var next = $(className)[0].nextElementSibling;//选中元素后置位元素是否存在,以此判断元素是否还可以左右移动
var paprev = $(className).parent()[0].previousElementSibling;//选中元素父级前置位元素是否存在,以此判断元素是否还可以上下移动
var panext = $(className).parent()[0].nextElementSibling;//选中元素父级后置位元素是否存在,以此判断元素是否还可以上下移动
var index = $(className).index();//根据选中元素的索引值,来确定上下移动时对换的位置
var movenDiv = $(className).next()[0];//以此确定上下对换元素添加方式
var movepDiv = $(className).prev()[0];//以此确定上下对换元素添加方式
switch (code) {
case 37://左
if (prev) {
$(className).insertBefore(prev);
} else {
tipsAlert(idName);
}
break;
case 38://上
if (paprev) {
var exchangeTop = $(paprev).children()[index];
$(className).insertBefore(exchangeTop);
if (movenDiv) {
$(exchangeTop).insertBefore(movenDiv);
} else {
$(exchangeTop).insertAfter(movepDiv)
} } else {
tipsAlert(idName);
}
break;
case 39://右
if (next) {
$(className).insertAfter(next);
} else {
tipsAlert(idName)
}
break;
case 40://下
if (panext) {
var exchangeBottom = $(panext).children()[index];
$(className).insertBefore(exchangeBottom);
if (movenDiv) {
$(exchangeBottom).insertBefore(movenDiv);
} else {
$(exchangeBottom).insertAfter(movepDiv)
}
} else {
tipsAlert(idName);
}
break; }
}); }
菜鸟一只,仅供参考,欢迎留言更好的代码建议,谢谢啦!
jQuery实现拼图小游戏的更多相关文章
- jQuery之-拼图小游戏
在线实例:http://lgy.1zwq.com/puzzleGame/ 源代码思路分析: [一]如何生成图片网格,我想到两种方法: (1)把这张大图切成16张小图,然后用img标签的src (2)只 ...
- 在HTML页面中有jQuery实现实现拼图小游戏
1.用jQuery实现拼图小游戏 2.首先获得td的点击事件.再进行交换位置 3.下面这种仅供参考 4.下面这些是HTMl标签 当这个世界变得越来越复杂的时候,内心最需保持一份简单一份纯真:
- jQuery拼图小游戏
jQuery拼图小游戏 最后样式 核心代码部分 <script type="text/javascript" > $(function () { $("td& ...
- JavaScript版拼图小游戏
慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例 拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较 ...
- 使用NGUI实现拖拽功能(拼图小游戏)
上一次用UGUI实现了拼图小游戏,这次,我们来用NGUI来实现 实现原理 NGUI中提供了拖拽的基类UIDragDropItem,所以我们要做的就是在要拖拽的图片上加一个继承于该类的脚本,并实现其中的 ...
- 仿苹果电脑任务栏菜单&&拼图小游戏&&模拟表单控件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- swift 拼图小游戏
依据这位朋友的拼图小游戏改编 http://tangchaolizi.blog.51cto.com/3126463/1571616 改编主要地方是: 原本着我仁兄的代码时支持拖动小图块来移动的,我參照 ...
- 教你用Python自制拼图小游戏,一起来制作吧
摘要: 本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyt ...
- 打造专属自己的html5拼图小游戏
最近公司刚好有个活动是要做一版 html5的拼图小游戏,于是自己心血来潮,自己先实现了一把,也算是尝尝鲜了.下面就把大体的思路介绍一下,希望大家都可以做出一款属于自己的拼图小游戏,必须是更炫酷,更好玩 ...
随机推荐
- Normalize.css源码注释翻译&浏览器css兼容问题的理解
版本v5.0.0源码地址: https://necolas.github.io/normalize.css/5.0.0/normalize.css 翻译版: /*! normalize.css v5. ...
- perl 祖先类UNIVERSAL
在perl 面向对象编程里,同其它语言一样存在祖先类.所有类默认继承UNIVERSAL的属性和方法. UNIVERSAL类有几个常用方法can,isa. can可以检查一个对象是否有相应的方法,这个 ...
- 传输层socket通讯之java实现
使用流套接字来示例一个客户/服务器的应用.客户端的应用连接到服务器上面,服务端的应用发送数据到客户端,然后客户将收到的数据显示出来. 服务端代码: package socket; import jav ...
- JS,HTML,CSS
HTML定义了网页的内容 CSS定义了网页的布局 JavaScript定义了网页的行为
- centos7使用cobbler(2.8)批量部署操作系统之一
一. 批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...
- jsp实现上一页下一页翻页功能
前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...
- Django学习(三)---Models(ORM框架)
1) Django 中Models是与数据库相关的,与数据库相关的代码一般写在 models.py中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在sett ...
- Sql 2008R2 windows身份好用 ,sa身份不好用
Sql server2008r2 安装完毕以后 windows身份验证好用,sa身份不好用,解决方法步骤如下: 1.首先用windows身份登录 2.SQL实例右键属性 3.安全性这一项 4.选择wi ...
- java开发必读 书单
希望读的书单 重构 改善既有代码的设计 设计模式 可复用面向对象软件的基础 高性能MySQL第3版 Effective Java第1版 Effective Java第2版 Java核心技术I-基础知识 ...
- 钉钉 机器人接入 自定义webhook
钉钉出了个webhook机器人接入,自定义的机器人支持随时post消息到群里: 昨天就尝试着用C#写了个: 一开始用python写,但是莫名的提示 {"errmsg":" ...