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

js實現(xiàn)類似jquery里animate動畫效果的方法

 更新時間:2015年04月10日 09:30:46   作者:jingangel  
這篇文章主要介紹了js實現(xiàn)類似jquery里animate動畫效果的方法,實例分析了javascript模擬實現(xiàn)jQuery中animate動畫效果的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了js實現(xiàn)類似jquery里animate動畫效果的方法。分享給大家供大家參考。具體分析如下:

該實例可實現(xiàn)鼠標移上,先寬度變化,再高度變化,最后透明度變化,鼠標移出,再依次變回去的效果。

要點一:

startrun(obj,attr,target,fn)
box.onmouseover = function(){
startrun(box,"width",200,function(){
startrun(box,"height",200,function(){
startrun(box,"opacity","100")
});
});
}

如上面,函數(shù)也可以做為參數(shù)使用,就可以達到先執(zhí)行某個動作,再執(zhí)行某個動作的效果了。

要點二:

if(cur == target){
clearInterval(obj.timer);
if(fn){
fn();
}
}

當運動到達目標點,關閉定時器,然后就可以執(zhí)行新的函數(shù)了。

最后,上代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>無標題文檔</title>
<style>
<!--
body{margin:0; padding:0; font:12px/1.5 arial;}
#box{width:100px; height:100px; position:absolute;
background:#06c; left:0;filter:alpha(opacity=30); opacity:0.3;}
-->
</style>
<script>
<!--
function getstyle(obj,name){
 if(obj.currentStyle){
  return obj.currentStyle[name];
 }else{
  return getComputedStyle(obj,false)[name];
 }
}
window.onload = function(){
 var box = document.getElementById("box");
 box.onmouseover = function(){
  startrun(box,"width",200,function(){
   startrun(box,"height",200,function(){
    startrun(box,"opacity","100")
   });
  });
 }
 box.onmouseout = function(){
  startrun(box,"height",100,function(){
   startrun(box,"width",100,function(){
    startrun(box,"opacity","30");
   });
  });
 }
}
function startrun(obj,attr,target,fn){
 clearInterval(obj.timer);
 obj.timer = setInterval(function(){
  var cur = 0;
  if(attr == "opacity"){
   cur = Math.round(parseFloat(getstyle(obj,attr))*100);
  }else{
   cur = parseInt(getstyle(obj,attr));
  }
  var speed = (target-cur)/8;
  speed = speed>0?Math.ceil(speed):Math.floor(speed);
  
  if(cur == target){
   clearInterval(obj.timer);
   if(fn){
    fn();
   }
  }else{
   if(attr == "opacity"){
    obj.style.filter = "alpha(opacity="+(cur+speed)+")";
    obj.style.opacity = (cur+speed)/100;
   }else{
   obj.style[attr] = cur + speed + "px";
   }
  }
 },30)
}
//-->
</script>
</head>
<body>
<div id="box">
</div>
</body>
</html>

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • JavaScript獲取某一天所在的星期

    JavaScript獲取某一天所在的星期

    我們會遇到的需求是,獲取今天或者某一天所在星期的開始和結束日期。今天小編通過實例代碼給大家分享JavaScript獲取某一天所在的星期,感興趣的朋友跟隨小編一起看看吧
    2019-09-09
  • js去字符串前后空格的實現(xiàn)方法

    js去字符串前后空格的實現(xiàn)方法

    這篇文章主要介紹了js去字符串前后空格的實現(xiàn)方法,重點推薦使用正則的方式,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JavaScript中函數(shù)聲明優(yōu)先于變量聲明的實例分析

    JavaScript中函數(shù)聲明優(yōu)先于變量聲明的實例分析

    同一個標示符,先后用var和function聲明它。最后它是什么呢
    2012-03-03
  • 小程序實現(xiàn)跑馬燈效果

    小程序實現(xiàn)跑馬燈效果

    這篇文章主要為大家詳細介紹了小程序實現(xiàn)跑馬燈效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Three.js+React使二維圖片呈現(xiàn)3D效果

    Three.js+React使二維圖片呈現(xiàn)3D效果

    這篇文章主要為大家介紹了如何利用Three.js+React技術棧,將二維漫畫圖片轉化為三維視覺效果。文中的實現(xiàn)方法講解詳細,需要的可以參考一下
    2022-02-02
  • 深入JS函數(shù)中默認參數(shù)的使用詳解

    深入JS函數(shù)中默認參數(shù)的使用詳解

    本文主要介紹了深入JS函數(shù)中默認參數(shù)的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 基于JavaScript實現(xiàn)輪播圖效果

    基于JavaScript實現(xiàn)輪播圖效果

    這篇文章主要為大家詳細介紹了基于JavaScript實現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • JavaScript設計模式之性能優(yōu)化模式享元模式

    JavaScript設計模式之性能優(yōu)化模式享元模式

    這篇文章主要介紹了JavaScript設計模式之性能優(yōu)化模式享元模式,享元設計模式是用于性能優(yōu)化的模式,這種設計模式的核心在于可以共享技術并支持對大量細分過后的對象進行調(diào)整,更多相關內(nèi)容需要的小伙伴可以參考一下
    2022-06-06
  • JS層移支示例代碼

    JS層移支示例代碼

    JS層移支示例代碼...
    2007-03-03
  • js實現(xiàn)簡單的前端分頁效果

    js實現(xiàn)簡單的前端分頁效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)簡單的前端分頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論