textillate.js是一款效果炫酷的jQuery和css3文字动画特效库插件。它通过结合其它一些动画库来制作各种CSS3文字动画特效。
如何使用
基本的html结构如下:
< h1 class = "tlt" >My Title</ h1 >
|
在页面的头部引入jQuery和jquery.textillate.js文件。
< script src = "http://libs.useso.com/js/jquery/1.9.1/jquery.min.js" ></ script >
< script src = "jquery.textillate.js" ></ script >
|
然后就可以如下调用插件。
$( function () {
$( '.tlt' ).textillate();
})
|
上面的方法将会使用默认参数来调用插件。要改变默认参数,你可以使用data-
属性来设置新参数。
< h1 class = "tlt" data-in-effect = "rollIn" >Title</ h1 >
|
或者在初始化插件时设置参数:
$( '.tlt' ).textillate({ in : { effect: 'rollIn' } });
|
你可以通过下面的方式来使 textillate.js 动画整个列表内容。
< h1 class = "tlt" >
< ul class = "texts" >
< li data-out-effect = "fadeOut" data-out-shuffle = "true" >Some Title</ li >
< li data-in-effect = "fadeIn" >Another Title</ li >
</ ul >
</ h1 >
|
$( '.tlt' ).textillate();
|
你可以使用data-
属性来控制么一个列表项上的文本的动画效果。
插件依赖
textillate.js文字动画库插件依赖于下面的一些库文件:
可用参数
$( '.tlt' ).textillate({
// the default selector to use when detecting multiple texts to animate
selector: '.texts' ,
// enable looping
loop: false ,
// sets the minimum display time for each text before it is replaced
minDisplayTime: 2000,
// sets the initial delay before starting the animation
// (note that depending on the in effect you may need to manually apply
// visibility: hidden to the element before running this plugin)
initialDelay: 0,
// set whether or not to automatically start animating
autoStart: true ,
// custom set of 'in' effects. This effects whether or not the
// character is shown/hidden before or after an animation
inEffects: [],
// custom set of 'out' effects
outEffects: [ 'hinge' ],
// in animation settings
in : {
// set the effect name
effect: 'fadeInLeftBig' ,
// set the delay factor applied to each consecutive character
delayScale: 1.5,
// set the delay between each character
delay: 50,
// set to true to animate all the characters at the same time
sync: false ,
// randomize the character sequence
// (note that shuffle doesn't make sense with sync = true)
shuffle: false ,
// reverse the character sequence
// (note that reverse doesn't make sense with sync = true)
reverse: false ,
// callback that executes once the animation has finished
callback: function () {}
},
// out animation settings.
out: {
effect: 'hinge' ,
delayScale: 1.5,
delay: 50,
sync: false ,
shuffle: false ,
reverse: false ,
callback: function () {}
},
// callback that executes once textillate has finished
callback: function () {},
// set the type of token to animate (available types: 'char' and 'word')
type: 'char'
});
|
事件
Textillate 会触发下面的事件。
- start.tlt:当textillate 开始动画时触发。
- inAnimationBegin.tlt:当 in 动画开始时触发。
- inAnimationEnd.tlt:当 in 动画结束时触发。
- outAnimationBegin.tlt:当 out 动画开始时触发。
- outAnimationEnd.tlt:当 out 动画结束时触发。
- end.tlt:当textillate 结束动画时触发。
方法
- $element.textillate('start'):手动开始/重置textillate动画。
- $element.textillate('stop'):手动暂停/停止textillate动画。
- $element.textillate('in'):触发当前文字的 in 动画。
- $element.textillate('out'):触发当前文字的 out 动画。