欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

整個(gè)代碼的關(guān)鍵地方在于當(dāng)鼠標(biāo)按下時(shí)開(kāi)始了的計(jì)時(shí)器,這樣Onmousemove事件會(huì)每隔30ms執(zhí)行一次,然后在鼠標(biāo)松下的時(shí)候清除計(jì)時(shí)器。

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

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

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;
//當(dāng)鼠標(biāo)按下時(shí),定時(shí)器開(kāi)始工作,每隔50ms執(zhí)行一次mousemove事件
timer=setInterval(function(){flag=true;},30);
};
//拖動(dòng);
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";
}
}
};
//停止拖動(dòng);
source.onmouseup=function (e){
if(moveable) {
moveable = false;
clearInterval(timer);
//alert(i);
}
};
//停止拖動(dòng);
source.onmouseout=function (e){
if(moveable) {
moveable = false;
clearInterval(timer);
//alert(i);
}
};
}

相關(guān)文章

  • 原生javascript兼容性測(cè)試實(shí)例

    原生javascript兼容性測(cè)試實(shí)例

    原生javascript兼容性:currentStyle、scrollTop、event以及綁定事件IE的綁定事件為attachEvent/detachEvent等等兼容性測(cè)試實(shí)例,感興趣的朋友可以參考下哈
    2013-07-07
  • Javascript顯示和隱藏ul列表的方法

    Javascript顯示和隱藏ul列表的方法

    這篇文章主要介紹了Javascript顯示和隱藏ul列表的方法,涉及javascript針對(duì)頁(yè)面元素遍歷及顯示與隱藏的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • WebSocket的通信過(guò)程與實(shí)現(xiàn)方法詳解

    WebSocket的通信過(guò)程與實(shí)現(xiàn)方法詳解

    這篇文章主要給大家愛(ài)介紹了關(guān)于WebSocket的通信過(guò)程與實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-04-04
  • Javascript三種字符串連接方式及性能比較

    Javascript三種字符串連接方式及性能比較

    這篇文章主要介紹了Javascript三種字符串連接方式及性能比較,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • JavaScript中undefined和is?not?defined的區(qū)別與異常處理

    JavaScript中undefined和is?not?defined的區(qū)別與異常處理

    這篇文章主要給大家介紹了關(guān)于JavaScript中undefined和is?not?defined的區(qū)別與異常處理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 利用JavaScript創(chuàng)建一個(gè)兔年春節(jié)倒數(shù)計(jì)時(shí)器

    利用JavaScript創(chuàng)建一個(gè)兔年春節(jié)倒數(shù)計(jì)時(shí)器

    這篇文章主要介紹了如何利用JavaScript創(chuàng)建一個(gè)兔年春節(jié)倒數(shù)計(jì)時(shí)器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下
    2023-01-01
  • 關(guān)于JS與jQuery中的文檔加載問(wèn)題

    關(guān)于JS與jQuery中的文檔加載問(wèn)題

    本文通過(guò)實(shí)例代碼給大家講解了js和jquery中的文檔加載問(wèn)題,感興趣的的朋友一起看看吧
    2017-08-08
  • JS實(shí)現(xiàn)求5的階乘示例

    JS實(shí)現(xiàn)求5的階乘示例

    這篇文章主要介紹了JS實(shí)現(xiàn)求5的階乘,結(jié)合實(shí)例形式分析了javascript基于循環(huán)及遞歸等操作實(shí)現(xiàn)階乘運(yùn)算的相關(guān)技巧,需要的朋友可以參考下
    2019-01-01
  • SlideView 圖片滑動(dòng)(擴(kuò)展/收縮)展示效果

    SlideView 圖片滑動(dòng)(擴(kuò)展/收縮)展示效果

    滑動(dòng)展示效果主要用在圖片或信息的滑動(dòng)展示,也可以設(shè)置一下做成簡(jiǎn)單的口風(fēng)琴(Accordion)效果。
    2010-08-08
  • GoJs中標(biāo)題和縮略圖使用技巧

    GoJs中標(biāo)題和縮略圖使用技巧

    這篇文章主要為大家介紹了GoJs中標(biāo)題和縮略圖使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評(píng)論