jQuery Transit 使用 CSS3 的新特性来实现过渡效果,比默认的.animate
方法要顺畅得多。
因为使用 CSS3 进行过渡效果,所以对不支持 CSS3 的浏览器效果有所下降。
语法和.animate
方法相同,因此很好上手。
版本:
jQuery v1.4+
jQuery Transit v0.9.12
PS:对于使用连接符的属性需改为驼峰式写法,或者使用引号包括。如:padding-top
属性需写为:paddingTop
或者"padding-top"。
在线实例
下载 jQuery Transit 过渡效果 基础示例
使用方法
载入 JavaScript 文件
<script src='jquery.transit.js'></script>
转换属性
除 jQuery 原本支持的属性外,还新支持一些属性
下载
(使用.css
方法不会进行动画效果,只是直接改变值)
$("#box").css({ x: '30px'});
$("#box").css({ y: '60px'});
$("#box").css({ translate: [60, 30]});
$("#box").css({ rotate: '30deg'});
$("#box").css({ scale: 2});
$("#box").css({ scale: [2, 1.5]});
$("#box").css({ skewX: '30deg'});
$("#box").css({ skewY: '30deg'});
$("#box").css({ perspective: 100, rotateX: 30});
$("#box").css({ rotateY: 30});
$("#box").css({ rotate3d: [1, 1, 0, 45]});
支持相对值
下载
$("#box").css({ rotate: '+=30' });
$("#box").css({ rotate: '-=30' });
可以省略单位
$("#box").css({ x: '30px' });
$("#box").css({ x: 30 });
多个值时,可以是数组或者用逗号分隔
$("#box").css({ translate: [60,30] });
$("#box").css({ translate: ['60px','30px'] });
$("#box").css({ translate: '60px,30px' });
支持获取属性值
下载
(若属性有多个值,则返回数组)
$("#box").css('rotate');
$("#box").css('translate');
动画效果 - $.fn.transition
$('...').transition(options, [duration], [easing], [complete])
你可以使用$.fn.transition()
来进行 css3 动画效果
下载
。他和$.fn.animate()
的效果一样,只是他使用了 css3 过渡。
$("#box").transition({ opacity: 0.1, scale: 0.3 });
$("#box").transition({ opacity: 0.1, scale: 0.3 }, 500);
$("#box").transition({ opacity: 0.1, scale: 0.3 }, 'swing');
$("#box").transition({ opacity: 0.1, scale: 0.3 }, 500, 'linear');
$("#box").transition({ opacity: 0.1, scale: 0.3 }, function(){});
$("#box").transition({ opacity: 0.1, scale: 0.3 }, 500, 'linear', function(){});
也可以在参数中配置所有选项
$("#box").transition({
opacity: 0.1, scale: 0.3,
duration: 500,
easing: 'linear',
complete: function(){}
});