Javascript复习第七天 简陋的五子棋

这里写图片描述

尚未实现,根据td的四个角触发onclick事件,定位div到相应的位置,这只是个五子棋的思路,日后再来实现吧~:
这里写图片描述

代码区域:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>

    <style>
        table{

            border-collapse: collapse;
            table-layout: fixed;        
        }
        td{
            border: 2px solid lightgrey;
            word-break : break-all;
            width:60px;
            height:60px;
        }
        .demo1{
            width:40px;
            height:40px;
            border-radius: 100%;
            background:black;
            border:2px solid white;             
            display: inline;
            position: relative;
            float:right;
            top:35px;
            left:20px;
        }

        .demo2{
            width:40px;
            height:40px;
            border-radius: 100%;
            background:white;
            border:2px solid black;             
            display: inline;
            position: relative;
            float:right;
            top:35px;
            left:20px;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>

    <h2>思路一/动态创建节点/定位添加棋子位置:</h2>
        <p>1.通过event target为table->td的onclick事件赋予方法.</p>
        <p>1-1.可以取消当前td绑定的onclick事件<p>
        <p>1-2.或者判断当前td是否有子元素</p>
        <p>1-3.或者判断当前td下的div节点的长度</p>
        <p>总之,是为了让td的onclick事件只执行一次</p>
        <p>2.绘制div用于显示圆形图案</p>
        <p>3.给td的onclick事件创建dom节点,添加子元素(div)</p>
        <p>4.调整div的显示位置(定位)</p>


    <h2>思路二/全局创建dom节点,根据用户触发onclick事件渲染棋子</h2>  
    <script>
        var i = 0;
        document.getElementsByTagName('table')[0].onclick = function(ev){
            ev = ev || event;//兼容IE
            var temp1 = ev.target || ev.srcElement//兼容IE

            //如果当前td内包含div则直接return,不再生成棋子
            if (temp1.getElementsByTagName("div").length>0) {
                return;
            }
            //判断当前节点是否为td
            if(temp1.nodeName.toUpperCase() =="TD"){    
                var temp = document.createElement('div');
                if(i%2==0){
                    temp.className="demo1";
                }else{
                    temp.className="demo2";
                }
                console.log(temp.style);
                temp2 = ev.target.appendChild(temp);//div节点
                i++;
            }

        };
    </script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值