Вот сайт, над которым я работаю: http://kognitek.nazwa.pl/stockize/mak/MMprodukcja/parallaxProject/stronaTestowa/test.html
Сайт мерцает при прокрутке вниз с помощью клавиш со стрелками в опере. Вот код, который я использую для прокрутки:
//bottom of index.html
else if ($.browser.opera) {
$(function() {
$('html').on('keydown', function(event) {
var keypressed = event.keyCode;
var curScroll = $('html').scrollTop();
var keys = scrollKeys.length;
var moved = false;
console.log("keypressed: " + keypressed);
for (i = 0; i < keys; i++) {
console.log("curScroll: " + curScroll)
if (moved === false) {
if (keypressed === 40 && i != (keys - 1) && parseInt(scrollKeys[i]) <= curScroll && parseInt(scrollKeys[i + 1]) > curScroll) {
$('html').animate({
scrollTop : (parseInt(scrollKeys[i + 1]))
}, 'slow', function() {});
console.log('down');
moved = true;
} else if (keypressed === 38 && i != 0 && parseInt(scrollKeys[i]) >= curScroll && parseInt(scrollKeys[i - 1]) < curScroll) {
$('html').animate({
scrollTop : (parseInt(scrollKeys[i - 1]))
}, 'fast', function(){});
console.log('up');
moved = true;
}
}
}
});
});
}
Я уже потратил некоторое время, пытаясь исправить это, и до сих пор не могу найти причину такого поведения. Сайт отлично работает в Chrome, Firefox, IE8, IE9. Проблема возникает только в Опере. Я знаю, что получил эту часть кода x3 в конце моего index.html, я собираюсь оптимизировать это, как только найду решение.
Есть идеи, что здесь не так?
Редактировать:
Я создал эту скрипту: http://jsfiddle.net/mymlyn/Mr5vR/ Сначала скрипт вроде нормально, но когда вы достигаете дна и снова пытаетесь подняться, экран начинает мерцать
Редактировать2:
Я думаю, что это предотвращает проблему по умолчанию, работая над этим в банкомате.
РедактироватьX:
Хотелось бы, чтобы я не ошибся при редактировании этого файла, чтобы он не стал вики сообщества... в любом случае, я обновил код, и он доступен здесь: http://cssdeck.com/labs/swayiqbq/2 Он использует .browser, который будет удален из jquery 1.9.