我试图通过一个时间线延迟实现切片效果。
具有切片效果的演示页无延迟:
演示页面:http://jsfiddle.net/Wa8m4/5/
在这里实现延迟的最佳方法是什么:
http://aviathemes.com/aviaslider/?slider=droping-curtain
代码:
/**
* animation step event
*/
$container.on('animationStepEvent', function(e, percent){
var maxSlideWidth = WIDTH/SLIDES_NUM
,width = percent*maxSlideWidth/100
,opacity = percent*1/100;
$blocks.each(function(index, value){
var left = maxSlideWidth * index
,height = percent*HEIGHT/100;
$(this).css({
width: width
,height: height
,opacity: opacity
,left: left
,'backgroundPosition': '-' + maxSlideWidth*index + 'px 0'
});
});
});
更新
似乎用一个时间轴不可能,
我能够达到的最接近的效果:
http://jsfiddle.net/RxZJt/4/
感谢这个问题:
How to scale down a range of numbers with a known min and max value