這是js代碼:(function(){? ? var $=function(id){return document.getElementById(id);} //添加瀏覽器兼容事件 function addEvent(el,type,handler){ ?if(el.addEventListener){ ? ? ?el.addEventListener(type,handler,false); ? ? }else if(el.attachEvent){ ? ? ?el.attachEvent("on"+type,handler); ? ? }else{ ? ? ? ?el["on"+type]=handler; ?} }? //構造函數(shù)+原型? var SheetBlock=function(btn,block,txt,sheet){? ? ? this.btn=$("btn");? ? ? this.block=$("block");? ? ? this.txt=$("txt");? ? ? this.sheet=$("sheet");? ? ? this.num=$("num");? ? ? this.divs=0;? ? ? this.tdone=$("sheet").childNodes.item(1).childNodes.item(2).childNodes.item(3);? ? ? this.commandAll=[];? ? ? var self=this;? ? ? this.dir=0;//除以4余數(shù)為-3,1的時候向右,余數(shù)為-2,2的時候向下, 余數(shù)為3 ,-1的時候向左,余數(shù)為0向上? ? ? //塊的位置初始化? ? ? this.block.style.left=this.tdone.offsetLeft+this.sheet.offsetLeft+"px";? ? ? this.block.style.top=this.tdone.offsetTop+this.sheet.offsetTop+"px"; ? ?addEvent(this.btn,"click",function(){? ? ? ? ?//調(diào)用字符串處理函數(shù)? ? ? ? ?var str=self.txt.value.trim();? ? ? ? ?var commandArr=str.split(/\n/);? ? ? ? ?for(var i=0;i<commandArr.length;i++){? ? ? ? ? ? //console.log(commandArr[i]);//彈出數(shù)組["TUN RIG", "GO"]? ? ? ? ? ? self.judge(commandArr[i]);//但只執(zhí)行了一個TUN RIG ,不執(zhí)行GO,這是為什么?????? ? ? ? ?} ? });? ? //處理輸入域? ? ? addEvent(this.txt,"keyup",function(e){? ? ? e=e||window.event;? ? ? if(e.keyCode==13){? ? ? ? //調(diào)用左側(cè)數(shù)目函數(shù)? ? ? ? self.createNum();? ? ? }? ? });? }?? SheetBlock.prototype={? ? ?createNum:function(){? ? ? ? this.divs++;? ? ? ? var div=document.createElement("div");? ? ? ? div.innerHTML=this.divs;? ? ? ? div.setAttribute("class","normal");? ? ? ? this.num.appendChild(div);? ? ?},? ? ?judge:function(value){? ? ? ? console.log(value);? ? ? if(value=="GO"){? ? switch(this.dir%4){? ? ? ? ? ? ? case -3:? ? ? ? ? ? ? case 1:? ? ? ? ? ? ? ? this.RIG();? ? ? ? ? ? ? break;? ? ? ? ? ? ? case 0:? ? ? ? ? ? ? ? this.TOP();? ? ? ? ? ? ? break;? ? ? ? ? ? ? case -2:? ? ? ? ? ? ? case 2:? ? ? ? ? ? ? ? ?this.BOT();? ? ? ? ? ? ? break;? ? ? ? ? ? ? case 3:? ? ? ? ? ? ? case -1:? ? ? ? ? ? ? ?this.LEF();? ? ? ? ? ? ? break;? ? }? }else if(value=="TUN LEF"){? ? ? ? this.dir--;? ? ? ? this.block.style.transform="rotate("+this.dir*90+"deg)";? }else if(value=="TUN RIG"){? ? ? ? this.dir++;? ?this.block.style.transform="rotate("+this.dir*90+"deg)";? }else if(value=="TUN BAC"){? ?this.dir=this.dir+2;? ?this.block.style.transform="rotate("+this.dir*90+"deg)";? }else if(value=="TRA LEF"){? ? ? ? this.LEF();? ? }else if(value=="TRA TOP"){? ? ? ? this.TOP();? ? }else if(value=="TRA RIG"){? ? ? ? this.RIG();? ? }else if(value=="TRA BOT"){? ? ? ? this.BOT();? ? }else if(value=="MOV LEF"){? ? ? ? this.block.style.transform = "rotate(-90deg)";? ? ? ? this.LEF();? ? ? ? this.dir=7;? ? }else if(value=="MOV TOP"){? ? ? ? this.block.style.transform = "rotate(0deg)";? ? ? ? this.TOP();? ? ? ? this.dir=4;? ? }else if(value=="MOV RIG"){? ? ? ? this.block.style.transform = "rotate(90deg)";? ? ? ? this.RIG();? ? ? ? this.dir=5;? ? }else if(value=="MOV BOT"){? ? ? ? this.block.style.transform = "rotate(180deg)";? ? ? ? this.BOT();? ? ? ? this.dir=6;? ? }else{? alert("請輸入正確指令");? }? return this.dir;? ? },? ? RIG:function(){? ? ? if(this.block.offsetLeft<857){? ? ? ? ? this.block.style.left=this.block.offsetLeft+42+"px";? ? ? }? ? },? ? TOP:function(){? ? ? if(this.block.offsetTop>59){? ? ? ? ? this.block.style.top=this.block.offsetTop-42+"px";? ? ? }? ? },? ? LEF:function(){? ? ? ? if(this.block.offsetLeft>480){? ? ? ? ? this.block.style.left=this.block.offsetLeft-42+"px";? ? ? }? ? },? ?BOT:function(){? ? if(this.block.offsetTop<400){? ? ?this.block.style.top=this.block.offsetTop+42+"px";? ? ?}? ? },? }var sheet=new SheetBlock();})();這是html代碼:<!doctype html><html><head><meta charset="UTF-8"><title>task33</title><link rel="stylesheet" href="task.css" type="text/css"></head><body>? ? ?<table id="sheet" cellpadding="0" cellspacing="0" border="0" ? width=“440px”><tr>? ? ? ? ?<td></td>? ? ? ? ?<td>1</td>? ? <td>2</td>? ? <td>3</td>? ? <td>4</td>? ? <td>5</td>? ? <td>6</td>? ? <td>7</td>? ? <td>8</td>? ? <td>9</td>? ? <td>10</td>? ? ?</tr>? ? ?<tr>? ? ? ? ?<td>1</td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? <td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ?<td>2</td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ?<td>3</td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ? <td>4</td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ? <td>5</td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ? ??<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ?<td>6</td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ?<td>7</td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ? ? ?<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? ?<td>8</td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ? ?<td></td>? ? ?</tr>? ? ?<tr>? ? ? ? <td>9</td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ?</tr>? ? ?<tr>? ? ? ? <td>10</td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ? <td></td>? ? ?</tr>? ? ?</table>? ?<div id="block">? ? ? ?<div id="block_front"></div>? ? ? ?<div id="block_back"></div>? </div>? <div id="inp">? ? <button id="btn">執(zhí)行</button>? ? <button>Refresh</button>? ? <br/>? ? <div id="inputbox">? ? <div id="num">? ? </div>? ? <textarea rows="15" cols="49" id="txt" >? ? </textarea>? ? </div>? </div>? <script src="task.js" type="text/javascript"></script></body></html>
為什么我的for循環(huán)內(nèi)的judge函數(shù)只執(zhí)行一次,求各位大神幫忙解讀一下子,謝謝啦
我背后有個胖子
2017-01-10 22:47:45