发布一个基于javascript的动画类 Fx.js_javascript技巧

复制代码 代码如下:

var example = new Fx(element,//元素
{
form:{
//动画前的样式
//color:"#00f",
},
to:{
//目标样式
color:"#00f",
"background-color":"#5f5",
opacity:0.9,
},
//线性方法
transition:Transition.elasticInOut,
//动画时间
duration:5000,
//动画帧值
fps:50,
onAnim:function(s){
//动画过程中
},
onStart:function(){
//动画开始时
},
onPause:function(){
//动画暂停时
},
onResume:function(){
//动画恢复时
},
onStop:function(){
//动画停止时
}
}
);
//开始动画
example.start();
//停止动画
example.stop();
//停止动画并恢复到原始样式
example.stop(1);
//暂停动画
example.pause();
//恢复动画
example.resume();

完整演示代码:

复制代码 代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Fx动画类 支持CSS3</title>
<style type="text/css">
*{ margin:0; padding:0; font-size:12px;}
#anim{ border-bottom:3pt solid #006;!important}
button{ width:70px; height:30px; font-size:16px; text-align:center;}
</style>
<script src="../../scripts/Fx.js" type="text/javascript"></script>
<script type="text/javascript">
/* Demo */
var fx,showlog = false;
window.onload = function(){
var anim = document.getElementById("anim");
var log = document.getElementById("log");

fx = new Fx(anim,
{
to:{
position:"absolute",
left:"180px",
top:"180px",
color:"hsla(270, 50%, 50%, 0.8)",
"background-color":"#5f5",
//"background-color":"rgba(0,0,255,0.6)",//"rgb(0,255,128)",//
opacity:0.9,
"font-size":"76px",
"border-top-left-radius":"150px",
"border-top-right-radius":"150px",
"border-bottom-left-radius":"150px",
"border-bottom-right-radius":"150px",

"-moz-border-radius-topleft":"150px",
"-moz-border-radius-topright":"150px",
"-moz-border-radius-bottomright":"150px",
"-moz-border-radius-bottomleft":"150px",
"text-shadow":"#000 9px 6px 2px ",
"-webkit-box-shadow":"#ff0 30px 20px 8px 0px",
"-moz-box-shadow":"#ff0 30px 20px 8px 0px",
width:"300px",
height:"300px",
"line-height":"300px"
},
transition:Transition.elasticIn,//bounceIn
duration:5000,
onAnim:function(s){

var str="";
if(showlog){
str+= '<h1 style="color:red;font-size:16px;">runStyle:</h1>';
for(var k in s){
str+=k+":"+s[k]+"<br />";
}
str+= "laveTime:"+this.laveTime+"<br />";

}
log.innerHTML = str;
},
onStop:function(){
//alert("Stop");
}
}
);

};
</script>
</head>

<body>

<div id="anim" style="
position:absolute;
left:70px;
top:70px;
width:150px;
height:150px;
color:hsla(10, 70%, 70%, 0.8);
border:1px solid #666;
background-color:#ccf;
overflow:hidden;
text-shadow:0px 0px 0px #000;
font-size:26px;
-webkit-box-shadow:0px 0px 0px #000;
-moz-box-shadow:0px 0px 0px #000;
-moz-border-radius:0px;
text-align:center;
line-height:150px;" >
A</div>
<button onClick="fx.start();">start()</button>
<button onClick="fx.pause();">pause()</button>
<button onClick="fx.resume();">resume()</button>
<button onClick="fx.stop(0);">stop(0)</button>
<button onClick="fx.stop(1);">stop(1)</button>
<label for="showlog">显示数据:</label>
<input type="checkbox" id="showlog" onClick="showlog = this.checked;" />
<br />
<div id="log"></div>
</body>
</html>

打包下载

时间: 2024-08-02 21:35:29

发布一个基于javascript的动画类 Fx.js_javascript技巧的相关文章

定制并发类(三)实现一个基于优先级的Executor类

声明:本文是< Java 7 Concurrency Cookbook>的第七章,作者: Javier Fernández González     译者:许巧辉 实现一个基于优先级的Executor类 在Java并发API的第一个版本中,你必须创建和运行应用程序中的所有线程.在Java版本5中,随着执行者框架(Executor framework)的出现,对于并发任务的执行,一个新的机制被引进. 使用执行者框架(Executor framework),你只要实现你的任务并把它们提交给执行者.

使用Node.js开发一个基于JavaScript的RESTful应用

REST 风格几乎是为 HTTP 协议量身定做的,在 HTTP 协议中用 URI 来标识唯一的资源,用 GET.PUT.POST.DELETE 等动词来操作资源,HTTP 协议是无状态协议,可以通过 Cache 来提高性能.本文将使用 http://www.aliyun.com/zixun/aggregation/13375.html">Node.js 开发一个基于 JavaScript 的 RESTful 应用. 在 Web2.0 盛行的今天,作为一种可以运行在浏览器客户端的轻量级脚本语

一个基于JavaScript的Web绘制图表工具

问题描述 EveryChart是一个基于JavaScript的Web绘制图表工具,它的特点:无须下载任何插件,只要支持canvas的浏览器即可使用.支持动态增加节点.体积小,速度快,使用简单.面向对象架构,方便扩展.拥有详尽的中文文档和本地技术支持.多浏览器支持:IE9,IE10firfox3.x+operachromesafari希望大家帮给下意见

JavaScript实现基于Cookie的存储类实例_javascript技巧

本文实例讲述了JavaScript实现基于Cookie的存储类.分享给大家供大家参考.具体分析如下: 通过这个JS类,你可以象使用session一样使用cookie,非常简单了! /* * CookieStorage.js * 本类实现像localStorage和sessionStorage一样的存储API * 不同的是,它是基于HTTP Cookies实现的. */ function CookieStorage(maxage, path) { // 两个参数分别代表储存有效期和作用域 // 获

JavaScript中的类继承_javascript技巧

JavaScript Inheritance DouglasCrockfordwww.crockford.com And you think you're so clever and classless and free--John Lennon JavaScript一种没有类的,面向对象的语言,它使用原型继承来代替类继承.这个可能对受过传统的面向对象语言(如C++和Java)训练的程序员来说有点迷惑.JavaScript的原型继承比类继承有更强大的表现力,现在就让我们来看看. Java Jav

基于javascript实现窗口抖动效果_javascript技巧

本文实例讲解了基于javascript实现窗口抖动效果的详细代码,分享给大家供大家参考,具体内容如下 效果图: 鼠标点击,窗口实现抖动. 具体代码: <!DOCTYPE HTML> <html> <head> <meta charset="gb2312"/> <title>窗口登陆效果</title> <style type="text/css"> #win { position:r

JavaScript操作cookie类实例_javascript技巧

本文实例讲述了JavaScript操作cookie类.分享给大家供大家参考.具体如下: 用法: 一.设置cookie var cookie = new JSCookie(); // 普通设置 cookie .SetCookie("key1","val1"); // 过期时间为一年 var expire_time = new Date(); expire_time.setFullYear(expire_time.getFullYear() + 1); cookie .

基于JavaScript实现随机颜色输入框_javascript技巧

废话不多说了额,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> table{width:500px;height:400px;} table td{width:100px;height:50px;} </style> <script> window.onl

EMIPLIB 1.1.0发布 一个基于IP的流媒体库

EMIPLIB是一个库,以方便需要基于IP的流媒体的几种方案的发展.库包含了几种可以在各种方式联系在一起的组件,从而提供一个灵活的框架.它还提供了一些现成的使用基于IP的音频和视频传输的类.流来自相同的参与者可以同步. 基本上这个库的目的就是要完成一个多媒体的网络传输库,方便多种媒体在网络上进行传输.从上面可以看到,它提供了从底层的数据采集.编码解码.传输等功能.当然,它不是独立的,比如,我是在window下做一个开发,对于音频它使用了winmm.lib库,对于视频使用了Dshow以及QT fo