Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как изменить размер фрейма через JS? (https://javascript.ru/forum/dom-window/11144-kak-izmenit-razmer-frejjma-cherez-js.html)

klmmn 09.08.2010 22:33

Как изменить размер фрейма через JS?
 
Здравствуйте.

Есть файл с фреймами. В первый фрейм загружается страница с меню состоящиго из кнопок. Кликая по кнопкам во второй фрейм погружаются другие страницы. При клике по кнопке "Магазины" в нижний фрейм загружается объёмное тело таблицы. Её шапку я хочу расположить в верхнем фрейме, что бы она не прокручивалась в месте с таблицей. Для этого мне нужно не перезагружая вверхний фрейм, увеличить его высоту и поместить туда (ниже меню) шапку страницы. Как поместить шапку я знаю. А вот как изменить высоту фрейма..? у меня не получилось.

Пытался написать код, котроый бы работал в браузере IE 8 (другие не обязательно).

Вот схематично то что есть:

Файл со структурой фреймов - index.php
<html>
  <frameset id='hj' rows="30, *">
    <frame src="title.php"   name="title" scrolling="auto" noresize>
    <frame src="content.php" name="content" scrolling="auto" noresize>
  </frameset>
</html>


Файл первого фрейма - title.php
<html>
   <head>
     <script>
       [JS]КОД JAVASCRIPT ДЛЯ ИЗМЕНЕНИЯ РАЗМЕРА...[/JS]
     </script>
   </head>
   <body>
     <table id=index cellspacing=0>
       <form action=content.php target=content>
       <tr>
         <td><input type=button name=analist value="Магазины"   ></td>
         <td><input type=button name=course value="Покупатели"></td>
       </tr>
       </form>
     </table>
     <table>
       <tr>
         <td>...</td>
         <td>...</td>
         <td>...</td>
         <td>...</td>
       </tr>
     </table>
  </body>
</html>


Пытался получить доступ <FRAMESET> так:
var frame = document.getElementById("hj")
frame.rows = '98, *'

Не получилось, frame почему-то равен - null, а по идее должен быть равен - [Object].

Если как-то получить доступ к <FRAMESET>, дальше, я так понял, можно менять размер - frame.rows = '98, *'.

Подскажите, пожалуйста, что я не так делаю? Как изменить размер фрейма?

рони 09.08.2010 23:05

var obj=parent.document.getElementsByTagName('frameset')[0];

klmmn 09.08.2010 23:11

Спасибище, огромное!

Gozar 10.08.2010 08:32

frames must die!

Как буд-то сейчас 1999 год и вокруг одни лучевые трубы с 800х600 и не придумали ajax и большинство сайтов используют js для того чтобы показать как на js можно делать часы, летящие снежинки и точечки перемещающиеся за курсором.

klmmn,
даже мелкософт отказалась от фреймов и переделала msdn

klmmn 11.08.2010 20:00

Я и о фреймах не забываю и ajax тоже пользую.:) А часами и снежинками никогда не баловался.


Часовой пояс GMT +3, время: 07:42.