2012-03-23 5 views
1

Есть ли способ сохранить эту простую анимацию JQuery? http://jsfiddle.net/v3DVf/6/JQuery Animation Flashing

+0

Что вы подразумеваете под проблеском? он не мигает для меня –

+0

Я полагаю, что он зависит от браузера. Я запускаю Chrome и очень сильно мигает, если я прокручу слишком быстро ... –

+0

Я просто пробовал IE, что очень плохо ... –

ответ

4

Возможно, это связано с тем, что вы слишком быстро прокручиваете jQuery для вычисления всего. Это, кажется, помогает:

$(window).scroll(function() { 
    var scrollTop = $(window).scrollTop(); 
    $('#left').stop().animate({ 
     top: (300 - (0.5 * scrollTop)) 
    }, 350); 
    $('#right').stop().animate({ 
     top: (300 - (0.2 * scrollTop)) 
    }, 350); 
});​ 

Вот кэшировать значение scrollTop, а не перерасчета и опуская (правда, правда) с функцией останова.

EDIT: Кроме того, избавиться от вызова #container css, просто сделайте это position: fixed.

+0

Да. Между использованием переменной и установкой #container на фиксированный, кажется, что проблесковая проблема решена. Благодаря! http://jsfiddle.net/v3DVf/10/ –

+0

На самом деле, нет необходимости в контейнере вообще: http://jsfiddle.net/v3DVf/11/ –

+0

еще лучше, хорошая работа –