высота в процентах математика JavaScript для iframe - PullRequest
0 голосов
/ 18 августа 2011

Вот в чем дело ... У меня есть внешне загруженный iframe, называемый radioiframe, и у меня есть локальный iframe с содержимым моей страницы.Как вы заметите, мой src в "radioiframe" пуст, потому что исходный код загружается через JavaScript (код в конце).Все работает просто отлично, но у меня возникает проблема: когда я включаю дисплей, появляется iframe, который перетаскивает содержимое вниз, скрывая его (переполнение: скрыто в теле, чтобы предотвратить использование полосы прокрутки).Возможно, я пытался это выяснить, высота "radioiframe" установлена ​​на уровне 34px, но высота "content" зависит от размера монитора и содержимого страницы.Я пытался вычислить с помощью jQuery высоту фрейма, а затем вычесть высоту ou 34 и установить ее в iframe, но безрезультатно.Просто чтобы напомнить, что все работает, кроме математической функции setSizes.

HTML на странице фрейма.

<div id="radiodiv">
<iframe src="" id="radioiframe" height="34px" width="100%" marginwidth="0" marginheight="0" frameborder="0" vspace="0" hspace="0" scrolling="no" allowtransparency="true" style="display:none;"></iframe></div>

<div id="contentdiv">   
<iframe src="home2.php" id="content" name="content" height="100%"  width="100%" frameborder="0" scrolling="auto" marginwidth="0" marginheight="0" vspace="0" hspace="0"></iframe></div>

<script type="text/javascript">
function setSizes() {
var containerHeight = $("#content").height();
document.getElementById('content').height = containerHeight - 34;
}
</script>

Javascript для загрузки источника:

function ShowSaburi (){
parent.document.getElementById('radioiframe').src = 'http://www.saburimusic.com/player.php';
parent.document.getElementById('radioiframe').style.display = 'block';
};

function ShowNero (){
parent.document.getElementById('radioiframe').src = 'http://www.radionero.com/player.php';
parent.document.getElementById('radioiframe').style.display = 'block';
};

function HideRadio (){
parent.document.getElementById('radioiframe').src = '';
parent.document.getElementById('radioiframe').style.display = 'none';
};

1 Ответ

0 голосов
/ 18 августа 2011

Как насчет стилизации содержимогоdivdiv с переполнением, установленным на scroll

<div id="contentdiv" style="overflow: scroll;">   
    <iframe src="home2.php" id="content" name="content" height="200px"  width="100%" frameborder="0" scrolling="auto" marginwidth="0" marginheight="0" vspace="0" hspace="0"></iframe>
</div>

Вы можете установить высоту div на максимальную высоту окна меньше 34px для радиорамки.

Надеюсь, что этопомогает.

function ShowSaburi() {
// your methods
// add this
setContentHeight();
}

function setContentHeight() {
   var docHeight = $(document).height();
   if (docHeight){
      var contentHeight = docHeight - 40;
      $('#contentdiv').css({'height': contentHeight+ 'px'});
   }
} 

Просто идея.

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