Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery animate в Chrome и IE 8 (https://javascript.ru/forum/jquery/30335-jquery-animate-v-chrome-i-ie-8-a.html)

goodwin74 31.07.2012 23:50

jQuery animate в Chrome и IE 8
 
Есть два Div:
<div class="cat2">
<div id="cat3">
...каталог...
</div>
</div>

.cat2{
width:1024px;
height:660px;
overflow: hidden;
}


где один служит маской, для другого. В cat3 же содержится контент в виде каталога.
Каталог состоит из Div блоков, где фото продукта и цена.
Делаю простой слайдер с перемещением блока cat3 с помощью jQuery:
$("#cat3").stop().animate({
        "margin-top": "-3000px"
      }, 1000);

Проблема в том, что в Chrome при прокрутки есть подергивания(их диспетчер во время прокрутки показывает 4-9 кадров в сек), а вот в IE прокручивается примерно на 600 px и останавливается, не выводя не ошибок не чего, как будто так и должно быть. В Opera и Mozilla все работает и очень плавно без потери кадров.

Была ли у кого такая проблема? И может кто знает как её решить?

Deff 01.08.2012 02:31

goodwin74,
не пробовали на время анимации перевести в позицию absolute и перемещать
"top": "-3000px"
}, 1000);
для этого правда надо считать оффсеты ( но как то в ИЕ боролся такой методой (Хотя может и в верстке дело

goodwin74 01.08.2012 12:51

C IE разобрался добавил к cat3 в css zoom:1 и он пустил Div за границу браузера.
А вот в Chrome по прежнему идет загрузка процессора, и прокрутка получается дерганая с потерей кадров.

Deff 01.08.2012 13:09

goodwin74,
Попробуйте обернуть Ваш контент в div c размерами окна и overflow:hidden и прокручивать в нём (можно на это время запретить и прокрутку главного окна через css

goodwin74 01.08.2012 19:43

Я именно так и делаю cat2 и есть обертка cat3 и там его кручу с hidden

Deff 01.08.2012 19:51

goodwin74,
А на это время body и html - запрещаете к прокрутке ?

goodwin74 01.08.2012 20:29

Искал в интернете когда проблему, было такое предложение. Хоть мне и не вариант убирать прокрутку, так как она нужна, но я пробовал результат отрицательный. Именно только в Chrome виснет анимация, я уже не знаю что и предпринять.

Deff 01.08.2012 21:11

goodwin74,
Попробуйте дать ссылку на тестовую в инете (деновера нет

Aetae 01.08.2012 21:21

Может таки попробуете юзать предназначенный для скроллинга scroolTop? Он на порядок меньше грузит проц чем изменения css. И при overflow:hidden он всё равно работает.

goodwin74 01.08.2012 22:44

Можно поподробнее о scrollTop пробовал примеры с интернета, но у div реакции нет вообще.

Страница к сожалению у меня на своей машине и опубликовать пока нет возможности. Составлю сейчас примерную страницу.


Часовой пояс GMT +3, время: 18:01.