慢慢慢慢拖動小方塊到一個新位置,然后松開鼠標,
先點擊“復位”,再點擊“回放”查看所經過的路徑,
只有一次機會哦 - -|||
循環內延遲的部分代碼:
代碼如下:
//延遲方法
sleep: function(n) {
var start = new Date().getTime();
while (true)
if (new Date().getTime() - start > n)
break;
},
//回看軌跡記錄
backTrack: function() {
var oSlippage = document.getElementById("slippage");
var len = this.X.length;
for (var i = 0; i < len; i++) {
oSlippage.style.left = this.X[i] - this.relativeX;
oSlippage.style.top = this.Y[i] - this.relativeY;
//延遲循環方法
this.sleep(10);
}
}
還是沒有達到慢慢回放的效果,待解決。。
啊哈,今早解決了~!
不用for循環,通過定時器運用數組的下標來不斷改變小方塊的left和top
定時器結合數組下標
代碼如下:
//延遲方法
sleep: function(n) {
//var start = new Date().getTime();
//while (true)
// if (new Date().getTime() - start > n)
// break;
var oSlippage = document.getElementById("slippage");
oSlippage.style.left = this.X[this.iNum] - this.relativeX; //iNum為數組下標
oSlippage.style.top = this.Y[this.iNum] - this.relativeY;
MOUSETRACKRECORD.iNum++;
//如果下標大于了他的長度就停止回放
if (this.iNum > this.X.length - 1) {
clearInterval(this.timeID);
}
},
//回看軌跡記錄
backTrack: function() {
//var oSlippage = document.getElementById("slippage");
//var len = this.X.length;
//for (var i = 0; i < len; i++) {
// oSlippage.style.left = this.X[i] - this.relativeX;
// oSlippage.style.top = this.Y[i] - this.relativeY;
// //延遲循環方法
// this.sleep(10);
//}
this.timeID = setInterval("MOUSETRACKRECORD.sleep()", 10);
}
演示效果: