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

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

JS動畫效果

vivian Web前端工程師
難度初級
時長 2小時 8分
學習人數
綜合評分9.60
537人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.4 邏輯清晰
  • function startMove(obj,json,fn){ var flag = true; clearInterval(obj.timer); obj.timer=setInterval(function(){ for(var attr in json){ // 1、取當前的值 var icur=null; // 如果設置的屬性為『透明度』... if(attr=='opacity'){ icur=Math.round(parseFloat(getStyle(obj,attr))*100); }else{ icur=parseInt(getStyle(obj,attr)); } // 2、算速度 var speed=(json[attr]-icur)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); // 3、檢測停止 if(icur!=json[attr]){ flag = false; } if(attr=='opacity'){ obj.style.filter='alpha(opacity:'+(icur+speed)+')'; obj.style.opacity=(icur+speed)/100; }else{ obj.style[attr]=icur+speed+'px'; } } if (flag) { clearInterval(obj.timer); if (fn) { fn(); } } },30); } function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
    查看全部
  • 獲取style樣式的方法
    查看全部
    0 采集 收起 來源:獲取樣式

    2015-10-24

  • 運動框架實現思路
    查看全部
  • 運動框架實現思路
    查看全部
  • 運動框架實現思路
    查看全部
  • 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]; } }
    查看全部
  • jQuery里已有的一個動畫框架,與之前的js封裝相似,還可以考慮使用css3的方法實現動畫效果 $(function(){ $('#move a').mouseenter(function(){ $(this).find('i').animate({top:"200px",opacity:0},300,function(){ $(this).css({top:-200}); $(this).animate({top:"0px",opacity:100},200); }); }); });
    查看全部
    0 采集 收起 來源:jQuery動畫案例

    2018-03-22

  • 代碼框架
    查看全部
    0 采集 收起 來源:JS動畫案例

    2015-10-20

  • 案例布局
    查看全部
    0 采集 收起 來源:JS動畫案例

    2015-10-20

  • json 格式 和 用法 json{a:12,b:13} 遍歷用json用for-in格式 為了解決不能同時到達目標時取消定時器的問題,立了一個flag,然后通過是否有屬性到達目標值,一旦有,則為false,則不會取消定時器,如果沒有,則每次觸發都為true,然后直接取消
    查看全部
  • js中json的用法
    查看全部
  • 鏈式動畫,在startMove(obj,attr,iTarget,fn)再加一個fn參數,并在清除動畫之后,加入fn方法:if(fn){fn();} 在主頁中,在三個參數之后再加入一個參數 startMove(Li,'width',400,function(){ startMove(Li,'height',200,function(){ startMove(Li,'opacity',100); }) })
    查看全部
    0 采集 收起 來源:JS鏈式動畫

    2015-10-20

  • 設置內聯樣式 obj.style.width=parseInt(obj.style.width)+speed+"px"; 使用函數獲取屬性 function getStyle(obj,attr) { if(obj.currentStyle){ return obj.currentStyle[attr]; } else{ return getComputedStyle(obj,false)[attr]; } } obj.style.width=parseInt(getStyle(obj,'width'))+speed+'px';
    查看全部
    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);
    查看全部
    0 采集 收起 來源:JS緩沖動畫

    2018-03-22

  • /*1.3精簡參數, iTarget:偏移目標值 用當前offsetLeft的值與傳入的目標值來判斷增加和減少 */ function startMove(iTarget){ clearInterval(timer); var oDiv=document.getElementById('div1'); timer= setInterval(function(){ var speed=0; //如果當前值大于目標就是正向運動 if(oDiv.offsetLeft > iTarget){ speed=-10; }else{ //如果小于目標值就是反向運動 speed=10; }; if(oDiv.offsetLeft==iTarget){ clearInterval(timer); }else{ oDiv.style.left=oDiv.offsetLeft+speed+'px'; } }, 30); }
    查看全部
    0 采集 收起 來源:JS透明度動畫

    2018-03-22

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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