在yui3中可以同步多個動畫以使它們一起進展嗎?類似於jQuery 1.4路線圖中提到的內容,並在此示例中演示http://ejohn.org/files/sync。?
Q
?
1
A
回答
1
YUI3並未正式支持該功能,但您可以通過訂閱補間事件並自行修改值來做類似的事情。
3
因爲我討厭看到非的答案上做題,我想我會在球場。
我在一個bug報告想通了這一點,這要歸功於信息(http://yuilibrary.com/projects/yui3/ticket/2528886)
這裏是我有:兩個盒子,並排放置。我希望左邊的方框縮小(寬度方向),同時右邊的方框增長。
(我用的div,使用float:左/浮動權和溢出:隱藏,因爲我前一段時間做了一些不幸的決定,但是這應該對大多數其他配置工作)
這是我做:
var anim = new Y.Anim({
duration: 1.0
});
var elmLeftBox = Y.one('#leftBox');
var elmRightBox = Y.one('#rightBox');
var intWidth = parseInt(elmLeftBox.getComputedStyle('width'), 10);
anim.on('tween', function(e) {
var elapsedTime = this.get('elapsedTime');
var duration = this.get('duration');
var easing = this.get('easing');
var leftPos = easing(elapsedTime, intWidth, (-1 * intWidth), duration*1000);
var rightPos = easing(elapsedTime, 0, intWidth, duration*1000);
elmLeftBox.setStyle('width', leftPos);
elmRightBox.setStyle('width', rightPos);
});
anim.on('end', function(evt) {
//clean up after myself - don't want hardcoded widths
elmLeftBox.setStyle('width', 0);
elmRightBox.setStyle('width', '100%');
});
anim.run();
完美地工作。祝你好運!
謝謝,它也可以很好地同時發射一組動畫,但它們並不完美匹配(你可以看到一些抖動)。我必須在某個時候嘗試使用補間方法,但這也需要手動計算補間中處理的動畫的插值... – 2010-01-13 16:14:27