記錄鼠標(biāo)的軌跡并回放的js代碼
更新時(shí)間:2010年04月17日 23:59:55 作者:
用js實(shí)現(xiàn)的記錄鼠標(biāo)的軌跡并回放的效果,非常不錯(cuò)。
遇到的問題:
Question
①:mousemove事件中,移動(dòng)方法中會(huì)被記錄很多的left和top,我只需要大概的幾組數(shù)據(jù)就行,不需要那么多;
Question
②:回放的時(shí)候,在for循環(huán)里執(zhí)行太快了,導(dǎo)致的效果就是直接看到開始跟結(jié)束位置,我想放慢中間的過程;搞了一個(gè)延遲的函數(shù),但是還是沒有實(shí)質(zhì)性解決。
慢慢慢慢拖動(dòng)小方塊到一個(gè)新位置,然后松開鼠標(biāo),
先點(diǎn)擊“復(fù)位”,再點(diǎn)擊“回放”查看所經(jīng)過的路徑,
只有一次機(jī)會(huì)哦 - -|||
循環(huán)內(nèi)延遲的部分代碼:
//延遲方法
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;
//延遲循環(huán)方法
this.sleep(10);
}
}
還是沒有達(dá)到慢慢回放的效果,待解決。。。
啊哈,今早解決了~!
不用for循環(huán),通過定時(shí)器運(yùn)用數(shù)組的下標(biāo)來不斷改變小方塊的left和top
定時(shí)器結(jié)合數(shù)組下標(biāo)
//延遲方法
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為數(shù)組下標(biāo)
oSlippage.style.top = this.Y[this.iNum] - this.relativeY;
MOUSETRACKRECORD.iNum++;
//如果下標(biāo)大于了他的長(zhǎng)度就停止回放
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;
// //延遲循環(huán)方法
// this.sleep(10);
//}
this.timeID = setInterval("MOUSETRACKRECORD.sleep()", 10);
}
演示效果:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
Question
①:mousemove事件中,移動(dòng)方法中會(huì)被記錄很多的left和top,我只需要大概的幾組數(shù)據(jù)就行,不需要那么多;
Question
②:回放的時(shí)候,在for循環(huán)里執(zhí)行太快了,導(dǎo)致的效果就是直接看到開始跟結(jié)束位置,我想放慢中間的過程;搞了一個(gè)延遲的函數(shù),但是還是沒有實(shí)質(zhì)性解決。
慢慢慢慢拖動(dòng)小方塊到一個(gè)新位置,然后松開鼠標(biāo),
先點(diǎn)擊“復(fù)位”,再點(diǎn)擊“回放”查看所經(jīng)過的路徑,
只有一次機(jī)會(huì)哦 - -|||
循環(huán)內(nèi)延遲的部分代碼:
復(fù)制代碼 代碼如下:
//延遲方法
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;
//延遲循環(huán)方法
this.sleep(10);
}
}
還是沒有達(dá)到慢慢回放的效果,待解決。。。
啊哈,今早解決了~!
不用for循環(huán),通過定時(shí)器運(yùn)用數(shù)組的下標(biāo)來不斷改變小方塊的left和top
定時(shí)器結(jié)合數(shù)組下標(biāo)
復(fù)制代碼 代碼如下:
//延遲方法
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為數(shù)組下標(biāo)
oSlippage.style.top = this.Y[this.iNum] - this.relativeY;
MOUSETRACKRECORD.iNum++;
//如果下標(biāo)大于了他的長(zhǎng)度就停止回放
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;
// //延遲循環(huán)方法
// this.sleep(10);
//}
this.timeID = setInterval("MOUSETRACKRECORD.sleep()", 10);
}
演示效果:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關(guān)文章
簡(jiǎn)述JavaScript提交表單的方式 (Using JavaScript Submit Form)
這篇文章主要介紹了簡(jiǎn)述JavaScript提交表單的方式 (Using JavaScript Submit Form)的相關(guān)資料,需要的朋友可以參考下2016-03-03獲取當(dāng)前月(季度/年)的最后一天(set相關(guān)操作及應(yīng)用)
本文主要介紹了setset相關(guān)操作及應(yīng)用,通過獲取當(dāng)前月(季度/年)的最后一天具體事例來解析說明,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2016-12-12js純數(shù)字逐一停止顯示效果的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄猨s純數(shù)字逐一停止顯示效果的實(shí)現(xiàn)代碼。小編覺得非常不錯(cuò)?,F(xiàn)在分享給大家。給大家一個(gè)參考2016-03-03JavaScript實(shí)現(xiàn)六種網(wǎng)頁圖片輪播效果詳解
在網(wǎng)頁中,我們經(jīng)常會(huì)看到各種輪播圖的效果,它們到底是怎樣實(shí)現(xiàn)的呢?本文將為大家詳細(xì)介紹一下六種不同的輪播效果的實(shí)現(xiàn),需要的可以參考一下2021-12-12