x
 
Алексей
31 мая 2012

В Сафари на Маке можно прокрутить страницу за её пределы. У меня Виндоус, а у дизайнера Мак, и он говорит, что мои скрипты, завязанные на значения скрола, странно ведут себя при таком оттягивании.

Есть какое-нибудь универсальное решение?



Мне помогает такой предохранитель:

$(function () {
  var $window = $(window);
  var body = $('body');

  $window.scroll(function () {
    var scrollTop = Math.min(
        Math.max(0, $window.scrollTop()),
        Math.max(0, body.height() - $window.height())
    );
    var scrollLeft = Math.min(
        Math.max(0, $window.scrollLeft()),
        Math.max(0, body.width() - $window.width())
    );
  });
});

Привычные $(window).scrollTop и $(window).scrollLeft проходят проверку на крайние значения для безопасного использования в программе.


Поделиться
Отправить

Комментарии

Илья Харитонов
31 мая 2012

Кстати, и в Хроме на Маке можно также прокрутить страницу.


Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

Мы публикуем комментарии, которые добавляют к уже сказанному новые мысли и хорошие примеры. Мы ожидаем, что такие комментарии составят около 20% от общего числа.

Решение о публикации принимается один раз; мы не имеем возможности комментировать или пересматривать свое решение, хотя оно может быть ошибочно. Уже опубликованные комментарии могут быть удалены через некоторое время, если без них обсуждение не становится менее ценным или интересным.

Вот такой веб 2.0.

Сайты для слабовидящих 2 За какими вещами нужно следить, чтобы при загрузке страница выглядела прилично? 1 С чего начать изучение ЦСС? 1 Как сделать, чтобы блок при прокрутке залипал у верхней границы окна браузера? 5




Недавно всплыло

Какие законы для текста, который будет восприниматься только на слух? 1 Выбранные элементы списка, как не забывать принципы из советов бюро и когда нужен логотип 1 1 Как следует поступить дизайнеру, если клиент постоянно вспоминает «нечто очень важное» 7