成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)

wangbinke / 1122人閱讀

摘要:今天這篇文章主要簡(jiǎn)述如何通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果,比如通過(guò)定時(shí)器快速改變等屬性,實(shí)現(xiàn)圖形在的頁(yè)面上做勻速的運(yùn)動(dòng)。

今天這篇文章主要簡(jiǎn)述js如何通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果,比如通過(guò)定時(shí)器快速改變width, height, left, top等屬性,實(shí)現(xiàn)圖形在html的頁(yè)面上做勻速的運(yùn)動(dòng)。

現(xiàn)在就有這樣的一個(gè)需求,定義2個(gè)不同背景顏色的物體,當(dāng)點(diǎn)擊按鈕的時(shí)候,實(shí)現(xiàn)向左,向下勻速
運(yùn)動(dòng)。

關(guān)鍵語(yǔ)法:
1,獲取當(dāng)前dom的指定屬性值

function computedStyle(dom,attr) {        
        if(getComputedStyle) {
            return getComputedStyle(dom,"")[attr]
        } else {
            return dom.currentStyle()[attr] //兼容IE
        }
  }

這個(gè)方法定義的目的是為了獲取dom 屬性的值,例如:
dom: "

",調(diào)用這個(gè)方法
computedStyle(dom,"width") 返回 30。

2,定時(shí)器,返回這個(gè)定時(shí)器的唯一id標(biāo)識(shí)

  timerId = setInterval(function(){
  },1000);

這個(gè)定時(shí)器的主要目的是為了勻速改變dom的屬性的值

示例:

   #box{                
        width: 100px; 
        height: 100px; 
        background: red; 
        position:absolute; 
        /*getComputedStyle 方法取屬性左邊的值"left" 為800*/
        left: 800px;  
        top: 50px;
    }


    #box1{                
        width: 100px; 
        height: 100px; 
        background: blue; 
        position:absolute; 
        left: 900px; 
        top: 50px;
    }

    
    
box
box1
//封裝獲取id的方法 function $(id) { return document.getElementById(id); } //獲取計(jì)算后的屬性 attr="width" function computedStyle(dom,attr) { if(getComputedStyle) { return getComputedStyle(dom,"")[attr] } else { return dom.currentStyle()[attr] } } window.onload=function(){ var btn=$("button"); var box=$("box"); var box1=$("box1"); btn.onclick=function(){ animate(box,"left",100); animate(box1,"top",400); } function animate(dom,attr,target){ //多個(gè)元素一起運(yùn)動(dòng) 每個(gè)元素綁定一個(gè)屬性放當(dāng)前運(yùn)動(dòng)的定時(shí)器 dom.timer=setInterval(function() { var current=parseInt(computedStyle(dom,attr)); var step=(target>current)?1:-1; /*目標(biāo)大于當(dāng)前值 +1 目標(biāo)小于當(dāng)前值-1*/ if(target==current) { // 如果等于100的時(shí)候退出,也是定時(shí)器退出的條件 dom.style[attr]=target+"px"; clearInterval(dom.timer); return false; } //改變位置 dom.style[attr]=(current+step)+"px"; //改變style的屬性,實(shí)現(xiàn)動(dòng)畫(huà) },10) //每10毫秒改變一次 } }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90785.html

相關(guān)文章

  • 04.Android之動(dòng)畫(huà)問(wèn)題

    摘要:動(dòng)畫(huà)占用大量?jī)?nèi)存,如何優(yōu)化使用動(dòng)畫(huà)的注意事項(xiàng)有哪些問(wèn)題這個(gè)問(wèn)題主要出現(xiàn)在幀動(dòng)畫(huà)中,當(dāng)圖片數(shù)量較多且圖片較大時(shí)就極易出現(xiàn),這個(gè)在實(shí)際開(kāi)發(fā)中要尤其注意,盡量避免使用幀動(dòng)畫(huà)。 目錄介紹 4.0.0.1 Android中有哪幾種類(lèi)型的動(dòng)畫(huà),屬性動(dòng)畫(huà)和補(bǔ)間動(dòng)畫(huà)有何區(qū)別?補(bǔ)間動(dòng)畫(huà)和屬性動(dòng)畫(huà)常用的有哪些? 4.0.0.2 View動(dòng)畫(huà)為何不能真正改變View的位置?而屬性動(dòng)畫(huà)為何可以?屬性動(dòng)畫(huà)是如...

    Muninn 評(píng)論0 收藏0
  • 通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)

    摘要:今天這篇文章主要簡(jiǎn)述如何通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果,比如通過(guò)定時(shí)器快速改變等屬性,實(shí)現(xiàn)圖形在的頁(yè)面上做勻速的運(yùn)動(dòng)。 今天這篇文章主要簡(jiǎn)述js如何通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果,比如通過(guò)定時(shí)器快速改變width, height, left, top等屬性,實(shí)現(xiàn)圖形在html的頁(yè)面上做勻速的運(yùn)動(dòng)。 現(xiàn)在就有這樣的一個(gè)需求,定義2個(gè)不同背景顏色的物體,當(dāng)點(diǎn)擊按鈕的時(shí)候,實(shí)現(xiàn)向左,向下勻速運(yùn)動(dòng)。 ...

    Sleepy 評(píng)論0 收藏0
  • 通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)

    摘要:今天這篇文章主要簡(jiǎn)述如何通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果,比如通過(guò)定時(shí)器快速改變等屬性,實(shí)現(xiàn)圖形在的頁(yè)面上做勻速的運(yùn)動(dòng)。 今天這篇文章主要簡(jiǎn)述js如何通過(guò)改變屬性來(lái)實(shí)現(xiàn)動(dòng)畫(huà)效果,比如通過(guò)定時(shí)器快速改變width, height, left, top等屬性,實(shí)現(xiàn)圖形在html的頁(yè)面上做勻速的運(yùn)動(dòng)。 現(xiàn)在就有這樣的一個(gè)需求,定義2個(gè)不同背景顏色的物體,當(dāng)點(diǎn)擊按鈕的時(shí)候,實(shí)現(xiàn)向左,向下勻速運(yùn)動(dòng)。 ...

    leanxi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<