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

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

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){ 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]; } }
    查看全部
  • 對IE瀏覽器:filter:alpha(opacity:30); 對其他瀏覽器:opacity: 0.3
    查看全部
  • 緩沖運動(減速): 速度不是定值,而定義為speed=(target(目標值)-offsetLeft(當前值))/系數; 注意:這時候速度可能不是整數,故平移的的時候可能不能達到整的目標值,有多余或不足 解決方法:用數學方法取整,math.floor()向上取整;math.ceil()向下取整
    查看全部
    0 采集 收起 來源:JS緩沖動畫

    2015-12-15

  • css定義透明度 IE:(filter:alpha(opacity:30))<br> 非IE:opacity:0.3 JS 改變:<br> IE:element.style.filter=‘alpha(opactiy:’+值+')'<br> 非IE .style.opactiy=值/100(火狐或者chrome關于透明度的滿值1,IE是100)
    查看全部
    0 采集 收起 來源:JS透明度動畫

    2018-03-22

  • 運動實現的思路: 速度:left,right,width,height, 透明度:opacity.
    查看全部
  • 制作移動的動畫效果:<br><br> 設置定時器,timer=setInterval(function(){},時間)<br><br> 1.element.offsetleft為元素左的偏移量,當動畫偏移達到目標值時,清空定時器clearInterval(timer);<br><br> 2.若鼠標觸發,可能會反復觸發定時器,產生累加效果,故開始動畫之前都要清空定時器 3.使之以一定速度移動,element.style.left=element.offsetLeft+speed+'px'
    查看全部
    0 采集 收起 來源:JS速度動畫

    2018-03-22

  • 記錄下
    查看全部
    0 采集 收起 來源:JS動畫案例

    2015-12-14

  • $(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

  • 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

  • 運動實現的思路:left,right,width,height,opacity.
    查看全部
  • 運動框架實現思路
    查看全部
  • jquery動畫
    查看全部
    0 采集 收起 來源:jQuery動畫案例

    2015-12-07

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

    2015-12-07

  • 用for-in來遍歷json數據。
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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