cyber,
Нет - У тьву две картинки - плохая и хорошая Текущая 1.9мега, Воть нун сделать поплоше - такого же размера ,но с меньшей четкостью дабы её начальный объем был 700 -780КБ (есть сервисы в инете) или закомый фотошопер (у мну памяти не зватат - пытался помочь) Когда перемещаешь - перемещаешь плохую - брауз тратит менее энергии на рендинг такой картинки - двигать 2 мега или 700кил, как остановился ( более чем на о.3-.4сек подсовываешь качественную |
я не пойму просто как будет двигатся карта под картинкой, я так понял нужно сделать что бы они синхронно двигались?
|
cyber,
нет ты хорошую карту изымыешь (меняешь ссылку) на плохую |
самое странное что если картинку не увеличивать а сразу поставить в макс размер то при перемещение тормозов нет :blink:
|
на странице сразу подгружены три картинки
Одна в самой карте(изначально "хорошая" (И Две скрыты z-index:200) это хорошая и "плохая" - это фишка чтобы картинки не переподгружать |
Цитата:
|
Отображать (рендерить) надо через window.requestAnimationFrame
Вместо style.left и style.top надо использовать style.transform = translate(x,y); |
Цитата:
я 2 дня не мог понять почему гугл и другие подобные скрипты юзают translate=) кстати а подругому можно получит текущие значение translate var translate = wrapper[0].style.WebkitTransform.match(/(-[0-9]|[0-9])+/ig); |
Цитата:
|
угу, зачем нужен window.requestAnimationFrame , я понял написав по быстро простенькую анимацию
http://learn.javascript.ru/play/tlW2j
<!DOCTYPE HTML>
<html>
<head>
<style>
*{margin:0;}
.square {
width:50px;
height:50px;
position:absolute;
background-color:black;
}
</style>
<script>
if ( !window.requestAnimationFrame ) {
window.requestAnimationFrame = ( function() {
return window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element ) {
window.setTimeout( callback, 1000 / 60 );
};
})();
}
</script>
</head>
<body>
<div class='square'></div>
<div style='top:70px;' class='square'></div>
<script>
var elem = document.getElementsByClassName('square');
function app (elem,fnc) {
var i = 0;
var back = false;
(function animate () {
elem.style.left= i+'px';
if (i >= 500 || back) {
back = true;
i--;
}
if (!back || i == 0) {
back = false;
i++;
}
fnc(animate);
}());
}
app (elem[0], window.requestAnimationFrame);
app(elem[1],function ( callback, element ) {
window.setTimeout( callback, 1000 / 60 );
})
</script>
</body>
</html>
вопрос в другом как это поможет в моем случае? |
| Часовой пояс GMT +3, время: 19:17. |