Как заставить iframe переопределить HTML-код базовой страницы?

0

В настоящее время я делаю это, чтобы ввести iframe:

var iFrame  = document.createElement ("iframe");
iFrame.src  = chrome.extension.getURL ("chrome.html");
iFrame.setAttribute("scrolling", "no");
iFrame.setAttribute("frameborder", "0");
iFrame.setAttribute("style", "border:none; width:100%; height:20%");
document.body.insertBefore (iFrame, document.body.firstChild);

хотя он работает хорошо, он вводит iframe поверх веб-страницы. Таким образом, если вы прокрутили вниз, вам нужно прокрутить вверх, чтобы просмотреть iframe. Мне было интересно, как добавить iframe поверх страницы, где он действует как раскрывающийся список (падает вверху страницы) и исчезает после прокрутки.

  • 0
    Вы имеете в виду НЕ исчезает после прокрутки?
  • 0
    На самом деле, нет. Я имею в виду исчезнуть после прокрутки или когда вы начнете прокручивать.
Показать ещё 1 комментарий
Теги:
iframe

2 ответа

1

Добавь это:

function checkScroll()
{
    //remove the iframe
    //iFrame.parentNode.removeChild(iFrame);

    //or remove after 2 secs
    setTimeout(function(){ iFrame.parentNode.removeChild(iFrame); }, 2000);

    //off the scroll listener
    document.removeEventListener('scroll', checkScroll); 
}
document.addEventListener('scroll', checkScroll); 

http://jsfiddle.net/rooseve/QF3qY/1/

  • 0
    Благодарю. Но как мне добавить iFrame на абсолютную верхнюю позицию?
  • 0
    Я делаю это фиксированной позиции (см. CSS), чтобы он мог быть виден при прокрутке
Показать ещё 2 комментария
1

Вы создаете пустой контейнер, который находится поверх вашей страницы (z-index, абсолютное позиционирование), и вместо этого вы добавляете свой ifram вместо первого родителя тела. Вы можете скрыть контейнер onscroll через JavaScript.

Ещё вопросы

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