получить iframe горизонтальное положение полосы прокрутки javascript

0

Это может выглядеть случайным вопросом, но я трачу на это много времени.

Я загружаю локальный HTML файл в IFRAME & I, чтобы включить горизонтальную навигацию, используя

overflow-x:scroll;overflow-y:hidden;

Итак, я хочу знать текущее положение горизонтальной полосы прокрутки

var Iframe = document.getElementById("IframeId");
var pos = Iframe.scrollLeft;
              &
vat pos = Iframe.document.body.scrollLeft;

Оба не работают для меня. помогите мне

  • 0
    Совет для профессионалов: найти такие вещи намного проще, если у вас есть возможность использовать инструменты Chrome dev. Конечно, если вы застряли с IE, то нет такой удачи.
Теги:
iframe
scrollbar

2 ответа

3
Лучший ответ

body находится внутри окна iframe, а не внутри элемента iframe. Вы можете ссылаться на правильный элемент следующим образом:

var Iframe = document.getElementById("IframeId").contentWindow;
var pos = Iframe.document.body.scrollLeft;

Или более кросс-браузерный способ с использованием коллекции frames:

var Iframe = window.frames['IframeId'];
var pos = Iframe.document.body.scrollLeft;

РЕДАКТИРОВАТЬ

В scrollLeft свойство scrollLeft необходимо прочитать из document.documentElement, следовательно:

var pos = Iframe.document.documentElement.scrollLeft;
  • 0
    Iframe.contentDocument.body.scrollLeft кажется, также работает.
  • 0
    @Jondlm Да, но contentDocument и contentWindow недоступны для старых браузеров.
Показать ещё 2 комментария
-1

Вы можете настраивать полосы прокрутки iframe.

iframe{ width: XXpx; height: XXpx; overflow-x: auto; overflow-y: hidden; }

Попробуй это.

  • 0
    Я не хочу настраивать полосы прокрутки. Я хочу получить позицию полосы прокрутки Iframe. Можете ли вы помочь мне в этом

Ещё вопросы

Сообщество Overcoder
Наверх
Меню