Это может выглядеть случайным вопросом, но я трачу на это много времени.
Я загружаю локальный HTML файл в IFRAME & I, чтобы включить горизонтальную навигацию, используя
overflow-x:scroll;overflow-y:hidden;
Итак, я хочу знать текущее положение горизонтальной полосы прокрутки
var Iframe = document.getElementById("IframeId");
var pos = Iframe.scrollLeft;
&
vat pos = Iframe.document.body.scrollLeft;
Оба не работают для меня. помогите мне
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;
Iframe.contentDocument.body.scrollLeft
кажется, также работает.
contentDocument
и contentWindow
недоступны для старых браузеров.
Вы можете настраивать полосы прокрутки iframe.
iframe{ width: XXpx; height: XXpx; overflow-x: auto; overflow-y: hidden; }
Попробуй это.