十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
jquery.easing.js--animate--easing--参数
创新互联公司-专业网站定制、快速模板网站建设、高性价比通渭网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式通渭网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖通渭地区。费用合理售后完善,十余年实体公司更值得信赖。
animate() 方法执行 CSS 属性集的自定义动画。
该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。
只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。
注释:使用 "+=" 或 "-=" 来创建相对动画(relative animations)。
语法 1
$(selector).animate(styles,speed,easing,callback)
参数描述
styles
必需。规定产生动画效果的 CSS 样式和值。
可能的 CSS 样式值(提供实例):
backgroundPosition
borderWidth
borderBottomWidth
borderLeftWidth
borderRightWidth
borderTopWidth
borderSpacing
margin
marginBottom
marginLeft
marginRight
marginTop
outlineWidth
padding
paddingBottom
paddingLeft
paddingRight
paddingTop
height
width
maxHeight
maxWidth
minHeight
minWidth
font
fontSize
bottom
left
right
top
letterSpacing
wordSpacing
lineHeight
textIndent
注释:CSS 样式使用 DOM 名称(比如 "fontSize")来设置,而非 CSS 名称(比如 "font-size")。
speed
可选。规定动画的速度。默认是 "normal"。
可能的值:
毫秒 (比如 1500)
"slow"
"normal"
"fast"
easing
可选。规定在不同的动画点中设置动画速度的 easing 函数。
内置的 easing 函数:
swing
linear
扩展插件中提供更多 easing 函数。
callback
可选。animate 函数执行完之后,要执行的函数。
如需学习更多有关 callback 的内容,请访问我们的 jQuery Callback 这一章。
语法 2
$(selector).animate(styles,options)
参数描述
styles必需。规定产生动画效果的 CSS 样式和值(同上)。
options
可选。规定动画的额外选项。
可能的值:
speed - 设置动画的速度
easing - 规定要使用的 easing 函数
callback - 规定动画完成之后要执行的函数
step - 规定动画的每一步完成之后要执行的函数
queue - 布尔值。指示是否在效果队列中放置动画。如果为 false,则动画将立即开始
specialEasing - 来自 styles 参数的一个或多个 CSS 属性的映射,以及它们的对应 easing 函数
具体要什么样子,是页面向下滑动 还是下面的内容向上顶
建议你可以看看 jQuery animate() 动画效果
jQuery的动画实现原理 就是最普通的逐帧动画(定格动画)*: 简单的说,根据duration、缓动公式(比如线性)和当前时间计算出下一帧的状态(即是DOM元素的css改变咯),用一个定时器(只用一个)作为update函数(这样就可以控制动画帧率了)~
因为你定义了200个定时器
从第一个到最后一个定时器
每个休息的时间是i的25倍
而i从0到200改变
因此
定时器的休息时间越来越久
于是看得到移动的效果
不然就一起移动了,看不到效果,因为都是最后的那个200
这个动画跟css3的动画没什么关系,主要是那个来回弹的东西,叫缓动,模拟真实世界物体加速到减速的过程。搜索下:flash或js缓动函数,有很多文章。
var h1=Math.max(document.documentElement.clientHeight,document.body.clientHeight);
var h2=Math.min(document.documentElement.clientHeight,document.body.clientHeight);
var st=h1-h2;
var v=st/6000;//缓动公式
var t1=Date.now();
function run(){
var _t=Date.now()-t1;
if(document.body.scrollTop=st){
return;
}
document.body.scrollTop=v*_t;
setTimeout(run,1000/60)
}
run();
上面一段代码就是一个简单的控制scrollTop的动画,这也是目前制作动画的基本方法。可以看缓动公式这一行,要调整滚动的速度,我们就改变速度v就ok了。你要是有兴趣可以复制到浏览器的控制台运行一下。
还有使用不同的缓动公式可以实现不同缓动效果的动画,例如自由落体运动,这个公式物理上有学过