最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

div層的移動及性能優(yōu)化

 更新時間:2010年11月16日 23:00:24   作者:  
層的移動本來很簡單,用jquery插件或者自己寫一個也不難,但是最近一個ipad項目里,發(fā)現(xiàn)用手移動div會感覺很卡,體驗很差(可能是ipad的配置根不上pc)。
同樣如果一個頁面結構很復雜或者電腦配置不好的話也會出現(xiàn)這種情況。為了弄清變慢的原因,我們做了幾個demo對比,最后發(fā)現(xiàn)在mousemove事件上加上定時器能改進這個體驗。

整個代碼的關鍵地方在于當鼠標按下時開始了的計時器,這樣Onmousemove事件會每隔30ms執(zhí)行一次,然后在鼠標松下的時候清除計時器。

timer=setInterval(function(){flag=true;},30);

這樣可以減輕瀏覽器繪制div層的負擔,不至于拖動時每時每刻都在移動,其實太短了人眼也感覺不到變化,延遲間隔可以自己根據(jù)體驗設置。
復制代碼 代碼如下:

function Endrag(source,target){
source=typeof(source)=="object" ? source:document.getElementById(source);
target=typeof(target)=="object" ? target:document.getElementById(target);
var x0=0,y0=0,x1=0,y1=0,moveable=false,index=100;
var timer,flag=false;
var i=0;
source.onmousedown=function(e){
e = e ? e : (window.event ? window.event : null);
x0 = e.clientX ;
y0 = e.clientY ;
x1 = isNaN(parseInt(source.style.left))?0:parseInt(source.style.left);
y1 = isNaN(parseInt(source.style.top))?0:parseInt(source.style.top);
moveable = true;
//當鼠標按下時,定時器開始工作,每隔50ms執(zhí)行一次mousemove事件
timer=setInterval(function(){flag=true;},30);
};
//拖動;
source.onmousemove=function(e){
e = e ? e : (window.event ? window.event : null);
if(moveable){
if(flag){
i++;
flag=false;
target.style.left = (e.clientX + x1 - x0 ) + "px";
target.style.top = (e.clientY + y1 - y0 ) + "px";
}
}
};
//停止拖動;
source.onmouseup=function (e){
if(moveable) {
moveable = false;
clearInterval(timer);
//alert(i);
}
};
//停止拖動;
source.onmouseout=function (e){
if(moveable) {
moveable = false;
clearInterval(timer);
//alert(i);
}
};
}

相關文章

  • javascript getElementByTagName的使用

    javascript getElementByTagName的使用

    javascript getElementByTagName當鼠標放上去時將超鏈接的顏色設為藍色的。
    2009-06-06
  • js實現(xiàn)簡單分頁導航欄效果

    js實現(xiàn)簡單分頁導航欄效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)簡單分頁導航欄效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 微信小程序實現(xiàn)登錄遮罩效果

    微信小程序實現(xiàn)登錄遮罩效果

    這篇文章主要為大家詳細介紹了微信小程序實現(xiàn)登錄遮罩效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Web 開發(fā)中Ajax的Session 超時處理方法

    Web 開發(fā)中Ajax的Session 超時處理方法

    下面小編就為大家?guī)硪黄猈eb 開發(fā)中Ajax的Session 超時處理方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 網(wǎng)頁中右鍵功能的實現(xiàn)方法之contextMenu的使用

    網(wǎng)頁中右鍵功能的實現(xiàn)方法之contextMenu的使用

    本文介紹一種網(wǎng)頁中實現(xiàn)右鍵功能的方案–contextMenu,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • javascript倒計時效果實現(xiàn)

    javascript倒計時效果實現(xiàn)

    這篇文章為大家分享了javascript倒計時效果實現(xiàn)代碼段,現(xiàn)今團購網(wǎng)、電商網(wǎng)、門戶網(wǎng)等,常使用時間記錄重要的時刻,如時間顯示、倒計時差、限時搶購等,特別是雙十一活動,需要的朋友可以參考下
    2015-11-11
  • 原生JS下拉加載插件分享

    原生JS下拉加載插件分享

    本文主要分享了原生JS下拉加載插件的實現(xiàn)代碼。具有一定的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • JS使用正則表達式找出最長連續(xù)子串長度

    JS使用正則表達式找出最長連續(xù)子串長度

    這篇文章主要介紹了js 正則找出最長連續(xù)子串長度的實現(xiàn)代碼,需要的朋友可以參考下
    2017-10-10
  • 利用ES6實現(xiàn)單例模式及其應用詳解

    利用ES6實現(xiàn)單例模式及其應用詳解

    單例是在程序設計非?;A的東西,這篇文章主要給大家介紹了關于利用ES6實現(xiàn)單例模式及其應用的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-12-12
  • 使用javascript做時間倒數(shù)讀秒功能的實例

    使用javascript做時間倒數(shù)讀秒功能的實例

    今天小編就為大家分享一篇關于使用javascript做時間倒數(shù)讀秒功能的實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論

吉隆县| 中宁县| 荣成市| 灌南县| 沾化县| 永川市| 安龙县| 阳泉市| 图片| 田阳县| 宣威市| 威远县| 永川市| 正镶白旗| 凤翔县| 育儿| 镶黄旗| 奎屯市| 甘孜县| 西吉县| 涪陵区| 博兴县| 华安县| 镇原县| 惠安县| 水富县| 新绛县| 南涧| 嘉义县| 布尔津县| 合肥市| 榆社县| 日土县| 荣成市| 永宁县| 贡嘎县| 翁源县| 郴州市| 庆元县| 什邡市| 兴山县|