Я недавно запустил новый проект, который представляет собой флипбук CSS3 / jQuery (щелкните, чтобы перевернуть, или щелкните и перетащите правую страницу).
Просмотрите живите здесь или играть со скрипкой
ВОПРОС:
Как мне улучшить скорость при перетаскивании страницы?
Кажется, в порядке вChrome и Safari, но он медленнее / медленнее в Firefox и действительно ужасен в Opera (протестировано в последних версиях на Mac OS X Snow Leopard)
BTW .. Я все ещеОчистка кода / Я попытался удалить вращение, но оно, похоже, ничего не меняет.
У меня было несколько тестеров, которые тоже жаловались на производительность на Chrome / mac (мне кажется, "ОК") ..
Любая помощь / критика / подсказка приветствуются.
Вот код, который перемещает страницу (полный код см. В скрипке)
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
});
}
});
}