Скрыть полосы прокрутки IFRAME с помощью JavaScript - PullRequest
0 голосов
/ 17 сентября 2010

У меня есть проект jQuery, в котором я открываю iframe с полосами прокрутки (scrolling = auto) во всплывающем окне (квадратный плагин) с анимацией.Когда оверлей закрывается, я хочу, чтобы всплывающее окно исчезло и исчезло.Пока все хорошо, но хотя размер iframe уменьшается, полосы прокрутки внезапно появляются до того, как все исчезнет.

Я пытался манипулировать атрибутом прокрутки iframes, но, похоже, его нет в iframes 'DOM объект в этой точке.Кто-нибудь может помочь?

Ответы [ 3 ]

4 голосов
/ 17 сентября 2010

Нет необходимости в JavaScript.Просто используйте следующий CSS в iframe:

overflow: hidden;
0 голосов
/ 17 сентября 2010

Безрамный iframe без полос прокрутки:

 var el = document.createElement("iframe");
 var iframe_style = "overflow:hidden; margin:0;padding:0;"
 var ifattr = {
        id: 'my_iframe', width: '520', height: '300', 'scrolling': 'no', 'marginWidth':0,
        'marginHeight':0, 'noResize': 0, 'border': 0, 'frameBorder':0, 'frameSpacing':0,
        'background': 'transparent','allowTransparency': 'allowTransparency',
        'name' :'my_iframe','style':iframe_style};

 for (var i in ifattr) {
      el.setAttribute(i, ifattr[i]);
 }

Это чистый JS, его можно легко перенести в jQuery с помощью attr () , протестировано в IE6-8, FF.

Документ внутри должен использовать: body {overflow: hidden;} - не проверяется, если он действительно требуется.

0 голосов
/ 17 сентября 2010

IIRC, полосы прокрутки принадлежат рамке страницы и должны быть там отключены. Если ваши фреймы междоменные, это может быть невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...