亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JS動畫效果

vivian Web前端工程師
難度初級
時長 2小時 8分
學習人數
綜合評分9.60
537人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.4 邏輯清晰
  • style.left 返回的是字符串,如28px,offsetLeft返回的是數值28,如果需要對取得的值進行計算, 還用offsetLeft比較方便。
    查看全部
    0 采集 收起 來源:JS速度動畫

    2015-11-05

  • 定義一個json{}通過for(var i in json)來遍歷里面的值,使得屬性可以同時變化。 注意:當json里的某個值到達目標時,就會停止定時器,此時需要對代碼做出修改 json{name/key}
    查看全部
  • //最終封裝的'完美移動框架' function startMove(obj,json,fn){ var flag=true;//標志所有運動是否到達目標值 clearInterval(obj.timer); obj.timer=setInterval(function(){ for(var attr in json){ var curr=0; //判斷是否為透明度 if(attr=='opacity'){ curr=Math.round(parseFloat(getStyle(obj,attr))*100); }else{ curr=parseInt(getStyle(obj,attr)); } //移動速度處理 var speed=0; speed=(json[attr]-curr)/10; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(curr!=json[attr]){ flag=false; } if (attr=='opacity') { obj.style.filter='alpha(opacity:'+(curr+speed)+")"; obj.style.opacity=(curr+speed)/100; }else{ obj.style[attr]=curr+speed+'px'; } } if(flag){ clearInterval(obj.timer); if(fn){ fu(); } } },30); } //取樣式 function getStyle(obj,attr){ if(obj.currentStyle){//IE取樣式 return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
  • move.js function startMove(obj,attr,iTarget,fn){ clearInterval(obj.timer);//1.2+++ obj.timer=setInterval(function(){//1.2+++ var icur=null; //1.判斷類型 if(attr=='opacity'){ icur=Math.round(parseFloat(getStyle(obj,attr))*100); }else{ icur=parseInt(getStyle(obj,attr)); } //2.算速度 var speed=(iTarget-icur)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); //3.檢測停止 if(icur==iTarget){ clearInterval(obj.timer); if(fn){ fn(); } }else{ if(attr=='opacity'){ obj.style.filter='alpha(opacity:'+(icur+speed)+')'; obj.style.opacity=(icur+speed)/100; }else{ obj.style[attr]=icur+speed+'px'; } } },30); } function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
    0 采集 收起 來源:JS鏈式動畫

    2018-03-22

  • Math.round(),四舍五入 設置透明度: 對IE瀏覽器:filter:alpha(opacity:30); 對其他瀏覽器:opacity: 0.3; startMove(this,'opacity',100),this指代這個Li1,opacity是參數,也可以是width或者height,100為目標值,透明度的目標值。 Li1.onmouseover=function(){ startMove(this,'opacity',100); } 用getStyle這個方法去獲取樣式比用setoffWidth,更加準備,getStyle(obj,'width');是獲取屬性值,setoffWidth是獲取整個盒子的值。(加邊框) function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
  • window.onload=function(){ var Li1=document.getElementById('li1'); var Li2=document.getElementById('li2'); Li1.onmouseover=function(){ startMove(Li1,'height',400); } Li1.onmouseout=function(){ startMove(Li1,'height',200); } Li2.onmouseover=function(){ startMove(Li2,'width',400); } Li2.onmouseout=function(){ startMove(Li2,'width',200); } } function startMove(obj,attr,iTarget){ clearInterval(obj.timer);//1.2+++ obj.timer=setInterval(function(){//1.2+++ var icur=parseInt(getStyle(obj,attr)); var speed=(iTarget-icur)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(icur==iTarget){ clearInterval(obj.timer);//1.2+++ }else{ obj.style[attr]=icur+speed+'px'; } },30); } function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
  • 獲取樣式,有兩種方法: 1、dom.style.xxx 這種寫法只能獲取行內樣式 例如 <div ></div> div.style.width能獲取到是200px,但是沒有出現在 引號中的樣式是獲取不到的 2、萬能方法。 getComputedStyle(div,null).xxx 這個是標準方法,需要做一下兼容 currentStyle 是IE的 3、友情贈送獲取任何樣式的代碼 function getStyle(obj,style){ if(obj.currentStyle){ return obj.currentStyle[style]; }else{ return getComputedStyle(obj,null)[style]; } }
    查看全部
    0 采集 收起 來源:獲取樣式

    2018-03-22

  • 1、速度的定義: var speed=(目標值-當前值(offset))/參數; 2、取整函數: 向下取整:Math.floor(3.55);//3.55是取整的數值,結果為:3 向上取整:Math.ceil(3.35);//結果為:4 3、速度的取整判斷: speed=speed>0?Math.ceil(speed):Math.floor(speed);// 條件操作位 這個表達式的意思是如果speed大于0(關系表達式返回true),則將Math.ceil(speed)向下去整賦值給 speed,反之則將Math.floor(speed)向上去整賦值給 speed
    查看全部
    0 采集 收起 來源:JS緩沖動畫

    2018-03-22

  • 多物體運動 for循環來為每一個TagNameList[i]添加事件 并添加屬性來區分各自的定時器(用于取消) 利用參數中的this來指定所選擇的當前元素 多物體不要共用一個值,在對象上定義一個單獨的屬性保持值 存在多項共用一個值,并且這個值會發生改變時,最好單獨給賦值,避免出現爭用的情況。 <script> window.onload=function(){ var aLi=document.getElementsByTagName('li'); for(var i=0;i<aLi.length;i++){ // 給每一個li設置一個timer,才不會致使他們去搶timer aLi[i].timer=null; aLi[i].onmouseover=function(){ startMove(this,400); }; aLi[i].onmouseout=function(){ startMove(this,200) } } var oDivLi=document.getElementsByTagName('div'); for(var j=0;j<oDivLi.length;j++){ oDivLi[j].timer=null; oDivLi[j].alpha=30; oDivLi[j].onmouseover=function(){ startMove1(this,100); }; oDivLi[j].onmouseout=function(){ startMove1(this,30); } } };
    查看全部
    0 采集 收起 來源:JS多物體動畫

    2018-03-22

  • 方便的可以傳到github之類的, 或者在線預覽的, 要事先準備好, 并且保證在任何一個設備都可以訪問使用(如果可以的話). 例如: 就職期間參與公司部產品開發, 負責服務器環境構建, 熟悉了redis, nginx在高并發環境下的應用,并運行3年內在線率達到98%. 或者 就職期間參與XXX網站開發, 并配合iOS研發部門開發了移動端站點, 運營期間不斷完善, 學習了在移動端開發網站的相關技能(不要用相關, 列舉出來).
    查看全部
    0 采集 收起 來源:JS鏈式動畫

    2015-11-03

  • Axure RP是一個專業的快速原型設計工具。Axure(發音:Ack-sure),代表美國Axure公司;RP則是Rapid Prototyping(快速原型)的縮寫。 Axure RP是美國Axure Software Solution公司旗艦產品,是一個專業的快速原型設計工具,讓負責定義需求和規格、設計功能和界面的專家能夠快速創建應用軟件或Web網站的線框圖、流程圖、原型和規格說明文檔。作為專業的原型設計工具,它能快速、高效的創建原型,同時支持多人協作設計和版本控制管理[1] 。
    查看全部
    0 采集 收起 來源:JS鏈式動畫

    2015-11-03

  • 1、速度的定義: var speed=(目標值-當前值(offset))/參數; 2、取整函數: 向下取整:Math.floor(3.55);//3.55是取整的數值,結果為:3 向上取整:Math.ceil(3.35);//結果為:4 3、速度的取整判斷: speed=speed>0?Math.ceil(speed):Math.floor(speed);
    查看全部
    0 采集 收起 來源:JS緩沖動畫

    2018-03-22

  • 透明度: css定義(filter:alpha(opacity:30)) JS 改變: IE:style.filter=‘alpha(opactiy:’+值+')' 非IE .style.opactiy=值/100(火狐或者chrome關于透明度的滿值1,IE是100) <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <style> body,div{ margin:0; padding:0; } #div1{ width:200px; height:200px; background:red; filter:alpha(opacity:30); opacity:0.3; } </style> <script> window.onload = function(){ var oDiv =document.getElementById('div1'); oDiv.onmouseover=function(){ startMove(100); } oDiv.onmouseout=function(){ startMove(30); } } var timer = null; var alpha = 30; function startMove(iTarget){ var oDiv =document.getElementById('div1'); clearInterval(timer); timer=setInterval(function(){ var speed = 0; if(alpha>iTarget){ speed = -10; } else{ speed = 10; } if(alpha == iTarget){ clearInterval(timer) } else{ alpha+=speed; oDiv.style.opacity = alpha/100 } },30) } </script> </head> <body> <div id="div1"></div> </body> </html>
    查看全部
    0 采集 收起 來源:JS透明度動畫

    2018-03-22

  • 1、設置透明度的樣式語句: filter:alpha(opacity:30);//30是透明度的值。 2、因沒有獲取當前透明度的屬性,則需要定義一個變量alpha,對變量和目標進行比較,實現效果。 3、IE和獲取瀏覽器透明度的賦值方法: IE:object.style.filter='alpha(opacity:'+值+')';
    查看全部
    0 采集 收起 來源:JS透明度動畫

    2015-11-03

  • 1、設置透明度的樣式語句: filter:alpha(opacity:30);//30是透明度的值。 2、因沒有獲取當前透明度的屬性,則需要定義一個變量alpha,對變量和目標進行比較,實現效果。 3、IE和獲取瀏覽器透明度的賦值方法: IE:object.style.filter='alpha(opacity:'+值+')';
    查看全部
    0 采集 收起 來源:JS透明度動畫

    2015-11-03

舉報

0/150
提交
取消
課程須知
1.您至少已經具備JavaSript的知識。2.您已經具備一些開發經驗。
老師告訴你能學到什么?
1.使用定時器實現簡單動畫。2.如何一步步封裝庫。2.培養編程的思想。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!