JavaScript

超轻量级php框架startmvc

jQuery插件实现弹性运动完整示例

更新时间:2020-07-15 14:54:01 作者:startmvc
本文实例讲述了jQuery插件实现弹性运动的方法。分享给大家供大家参考,具体如下:<!doct

本文实例讲述了jQuery插件实现弹性运动的方法。分享给大家供大家参考,具体如下:


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>www.jb51.net jQuery弹性运动</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
// JavaScript Document
(function($){
 $.fn.moveTx=function(json)
 {
 var i=0;
 for(i=0;i<this.length;i++)//重要
 {
 startMove(this[i],json);
 }
 function getStyle(obj, attr)
 {
 if(obj.currentStyle)
 {
 return obj.currentStyle[attr];
 }
 else
 {
 return getComputedStyle(obj, false)[attr];
 }
 }
var iSpeed=0;
var iTget=0;
function startMove(obj,json)
{
 clearInterval(obj.timer);
 obj.timer=setInterval(function (){
 for(var attr=0 in json)
 {
 iSpeed+=(json[attr]-parseInt(getStyle(obj, attr)))/5;
 iSpeed*=0.7;
 iTget+=iSpeed;
 if(Math.abs(iSpeed)<1 && Math.abs(iTget-json[attr])<1)
 {
 clearInterval(obj.timer);
 obj.style[attr]=json[attr]+'px';
 }
 else
 {
 obj.style[attr]=iTget+'px';
 }
 }
 }, 30);
}
}})(jQuery)
$(function(){
 var oDiv=$('#zgz')
 oDiv.click(function(){
 $(this).moveTx({left:500})
 })
})
</script>
<style>
#zgz{ width:80px; height:80px; background-color:#f00;position:absolute; left:0px; top:20px; color:#fff; padding:10px;}
#xt{ width:1px; height:500px; background-color:#000; position:absolute; left:500px; top:0px;}
</style>
</head>
<body>
<div id="zgz">弹性运动</div>
<div id="xt"></div>
</body>
</html>

运行效果:

jQuery 插件 弹性运动