zoukankan      html  css  js  c++  java
  • JQuery实现拼图数字游戏

      1 <html>
      2 <head>
      3     <title>test</title>
      4     <script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
      5     <script type="text/javascript">
      6         $(function () {
      7             //第一步:画界面
      8             var sHtml = "<tr>";
      9             var max = 16;
     10             for (var i = 1; i <= max; i++) {
     11                 if (i < max) {
     12                     sHtml += "<td>" + i + "</td>";
     13                     if (i % 4 == 0) {
     14 
     15                         sHtml += "</tr><tr>";
     16                     }
     17                 } else {
     18                     sHtml += "<td></td>";
     19                     sHtml += "</tr>";
     20 
     21                 }
     22 
     23             }
     24 
     25              $("#grid").html(sHtml);
     26 
     27             //第二步:处理数字的移动
     28             $("#grid td").click(function (e) {
     29                 //在处理事件之前找到要移动的元素
     30                 $td = $(this); //得到当前对象
     31 
     32                 var idx = $td.prevAll().length; //查找当前元素之前的同辈元素的长度
     33 
     34                 var $left = $td.prev(); //查找当前元素之前的一个同辈元素
     35 
     36                 var $right = $td.next(); //查找当前之后的一个同辈元素
     37 
     38                 var $top = $td.parent().prev().children('td:eq(' + idx + ')'); //查找当前元素上一行对应的位置td
     39 
     40                 var $bottom = $td.parent().next().children('td:eq(' + idx + ')'); //查找当前元素下一行对应的的位置td
     41 
     42  
     43 
     44                 var $target = null; //定义一个目标元素
     45 
     46                 //如果目标位置存在并且内容为空,则确定目标元素的位置
     47                 if ($top && $top.html() == '') {
     48                     $target = $top;
     49 
     50                 } else if ($right && $right.html() == '') {
     51                     $target = $right;
     52 
     53                 } else if ($bottom && $bottom.html() == '') {
     54                     $target = $bottom;
     55 
     56                 } else if ($left && $left.html() == '') {
     57                     $target = $left;
     58 
     59                 }
     60 
     61               
     62                 //如果目标元素不为空
     63                 if ($target) {
     64                     //设置目标元素的内容为当前点击td的内容
     65                     $target.html($td.html());
     66                     $td.html(""); //清空点击的td
     67                 }
     68 
     69             });
     70         });
     71     </script>
     72 
     73     <style type="text/css">
     74         #grid
     75         {
     76             margin-top: 2em;
     77             margin-bottom: 1em;
     78             border-collapse: separate;
     79             border-spacing: 2px;
     80             font-size: 26px;
     81             border:2px;
     82             padding:2px;
     83         }
     84         #grid td
     85         {
     86             border-bottom: soild 1px #B2B2B2;
     87             border-right: soild 1px #B2B2B2;
     88             background: #F3F3F3;
     89             text-align: center;
     90             white-space: nowrap;
     91             cursor: pointer;
     92             padding: 4px;
     93             width: 30px;
     94             empty-cells: show;
     95             border:2px;
     96             
     97         }
     98     </style>
     99 </head>
    100 <body>
    101     <div>
    102         <center>
    103             <table id="grid">
    104             </table>
    105         </center>
    106     </div>
    107 </body>
    108 </html>
  • 相关阅读:
    图片上传
    中间件
    放大镜
    JQ编写楼层效果
    AJAX,PHP,前端简单交互制作输入框效果
    AJAX中使用post,get接收发送数据的区别
    PHP内写css样式
    计算2个日期相差的月份
    react-相关技术栈之-dva/dynamic
    es6相关知识点
  • 原文地址:https://www.cnblogs.com/huzi007/p/2695167.html
Copyright © 2011-2022 走看看