Отключить прокрутку окна в jQuery - PullRequest
2 голосов
/ 01 апреля 2011

Я использую что-то вроде facebox и хочу, чтобы полоса прокрутки main window была отключена. Однако есть одна загвоздка: внутри компонента facebox есть полоса прокрутки, которая должна иметь возможность прокручиваться.

Я пытаюсь исправить следующий случай:

при прокрутке внутреннего элемента прокрутки (внутри facebox ), когда прокрутка заканчивается, она прокручивает страницу дальше.

Ответы [ 2 ]

7 голосов
/ 01 апреля 2011

сделать это в css:

body {
   overflow: hidden;
}

это скроет полосу прокрутки в главном окне

0 голосов
/ 24 мая 2016

я пошел в файл facebox.js и добавил

  $('body').css('overflow', 'hidden');

к

loading: function() {
      init()
      if ($('#facebox .loading').length == 1) return true
      showOverlay()
      $('#facebox .content').empty()
$('body').css('overflow', 'hidden');
      $('#facebox .body').children().hide().end().
        append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>')

и добавил $ ('body'). Css ('overflow', '');до конца документа

   * Bindings
   */

  $(document).bind('close.facebox', function() {
    $(document).unbind('keydown.facebox')
    $('#facebox').fadeOut(function() {
      $('#facebox .content').removeClass().addClass('content')
      $('#facebox .loading').remove()
      $(document).trigger('afterClose.facebox')
$('body').css('overflow', '');
    })
    hideOverlay()
  })

})(jQuery);

Это останавливает прокрутку, когда она открыта, а когда она закрыта, вставьте прокрутку обратно, у меня это работает на http://www.vestedutility.com.au/home_electrical_saftey_check.php

...