我最近開始一個新項目,這是一個CSS3/jQuery翻書(點擊翻頁,或點擊&拖動右頁)。提高jQuery拖動動畫的性能
看到它live here或play with the fiddle
問題:
我怎樣才能提高速度拖動頁面的時候?
似乎在Chrome和Safari確定,但它是在Firefox慢/「steppy」和歌劇
BTW(在上一個Mac OS X雪豹最新版本的測試)..我真的很可怕米仍然清理代碼/我試圖刪除旋轉,但它似乎並沒有改變任何東西。
我有這樣的抱怨在Chrome/MAC表現太(似乎「OK」對我來說)一個少數測試..
任何幫助/批評/提示表示讚賞。
下面是移動頁面(見小提琴整個代碼)
function startMove() {
$('#flipwrap.movable').on('mousemove', function(e) {
e.preventDefault();
thisX = parseFloat((e.pageX - offsetX - 190), 10);
thisY = parseFloat((e.pageY - offsetY - 270), 10);
positionX = parseFloat((((thisX - 55) * -1) + 310), 10);
positionY = parseFloat(((thisY + 100)/10), 10);
rotateZ = parseFloat((((positionX - 350) * positionY)/900).toFixed(2) * -1, 10);
if ($('.page.flipit').hasClass('movable')) {
$('.page.flipit').stop(true, true);
$('.page.removeit').stop(true, true);
$('.page.flipit').removeClass('css-animation').css({
width: 116 - thisX/2.1,
height: 345 - thisX/8,
top: -13 + thisX/16,
left: thisX + 155
});
$('.page.flipit').css('-webkit-transform', 'rotate(' + rotateZ + 'deg) ').css('-o-transform', 'rotate(' + rotateZ + 'deg) ').css('-moz-transform', 'rotate(' + rotateZ + 'deg) ');
console.log(' pX = ' + positionX + ' pY = ' + positionY + ' rZ = ' + rotateZ + ' tX = ' + thisX + ' tY = ' + thisY);
$('.page.removeit').css({
width: 40 + thisX/1.6
});
}
});
}
得到了說,這對我來說非常笨重的Chrome,太(最新版本,Win7的)。除此之外,它看起來不錯,但。 – 2011-12-23 11:59:36
也許你可以將它與原來的http://jsfiddle.net/pixelass/PXZwf/3/進行比較,它使用翻譯進行定位..(在這個例子中,mouseup上的動畫等完全關閉)..它是隻是拖動時捲曲/拖動部分的動畫平滑度 – pixelass 2011-12-23 12:49:02