У меня есть странное поведение от firefox, я строю портфолио на одной странице, а в качестве графического дизайнера кодирование было сложным. Я хотел плавно управлять навигацией, а затем добавил масштабирование ко всем элементам (первоначально для полноэкранного 1920x1080). Лектор уронил бомбу, что ей тоже нужно было прокручивать вертикально, я пытаюсь заставить вертикальную навигацию работать.
Проблема в том, что, когда я переключаюсь на полноэкранный режим, большинство навигационных кодов, похоже, задерживаются до того, как они выполняются. Это происходит только при переключении на полный экран. Если я переключаюсь и обновляюсь, тогда это нормально. Я действительно хочу знать, что замедляет все это.
Я пробовал безопасный режим без плагинов. Я использую Firefox 24.0 с Firebug, чтобы получить кусочки.
Я создал скрипт кода (мой первый и он уже сломан): http://jsfiddle.net/jeffreyknipe/xfjmC/1/
Код прокрутки выглядит следующим образом:
function navTo(horizontal, vertical) {
browserWidth = $(window).innerWidth();
browserHeight = $(window).innerHeight();
newRatio = browserWidth / 1920;
$('html body div#full_site section#pages_section').animate({
marginLeft: '-' + browserWidth * horizontal,
marginTop: (browserWidth / 16 * 9) * vertical
}, 1000);
if (horizontal == 0) {
$('#menuspace #floating_topbar #menuzone').animate({
marginRight: 0
});
} else {
$('#menuspace #floating_topbar #menuzone').animate({
marginRight: (newRatio * (-340))
});
};
};
Я знаю, что кодеры там будут недовольны тем, насколько неэффективен код, но любые советы будут оценены. Самое главное, что полный экранный код замедляется.
Благодарю.
Проблема возникла при анимации изменений элементов или местоположений при переходе в полноэкранный режим и из полноэкранного режима. Я переключился на установление новых значений с помощью.css, а не с.animate (я действительно хотел, чтобы он анимировался в новом месте), но поскольку анимация здесь не была нарушителем транзакций, и она решила проблему, я счастливый турист.
Я должен предположить, что он хочет анимировать, но java-скрипт-движок или что-то в Firefox слишком заняты во время изменения, это почти ошибка, но я не могу изолировать происходящее, пока скрипт застрял, поэтому я не могу сообщить об этом,
html
иbody
вашего селектора, так как все элементы будут иметь их как родителей. Затем вы можете попробовать избавиться отdiv
вdiv#full_site
иsection
вsection#pages_section
поскольку идентификаторы уникальны, и вам не нужно быть более конкретным (если вы не намеренно пытаетесь увеличить его специфичность). По той же причине вы должны быть в состоянии избавиться от#full_site
и обоих экземпляров#menuspace #floating_topbar
если только вы специально не нацеливаетесь между отдельными страницами. Это должно уменьшить количество проверок, которые им понадобятся.