Как создать свой сайт - Изменение информации в двух фреймах сразу

Как измененить информацию в двух разных фреймах сразу, нажав на одну ссылку.

В этом нам поможет JavaScript. По нажатию на нужную ссылку, будет вызываться функция загрузки документов в указанные фреймы. Адреса документов будут передаваться функции в качестве аргументов. Рассмотрим поподробнее. Создадим сначала файл TwoByOne.html, описывающий структуру фреймов:

 
<HTML>
<HEAD>
  <TITLE>Изменение содержимого в двух 
                фреймах по нажатию на одну ссылку</TITLE>
</HEAD>
<FRAMESET cols="30%,70%" frameborder="yes"  framespacing="1">
  <FRAME name="LeftFrame" src="LeftMenu.html">
  <FRAMESET rows="50%,50%">
    <FRAME name="TopFrame"  src="about:blank">
    <FRAME name="BotFrame"  src="about:blank">
  </FRAMESET>
</FRAMESET>
</HTML>

У двух правых фреймов в качестве источника при загрузке указаны пустые бланки: src="about:blank". Эти фреймы в нашем примере имеют имена "TopFrame" и "BotFrame". Эти имена будут использоваться для определения окна в которм следует открыть ннужный документ.

В левом фрейме будут располагаться ссылки, нажатием на которые мы будем загружать в наши два фрейма нужные документы. Назовем файл, который будет загружен в левый фрейм "LeftMenu.html". Рассмотрим его код. Вначале опишем нашу функцию загрузки документов:

 
<script language=JavaScript>
function TwoByOne(frame1, frame2)
{
  parent.TopFrame.location.href=frame1;
  parent.BotFrame.location.href=frame2;
}
</script>

В нашем примере функция будет называться TwoByOne(). frame1 и frame2 - параметры, через которые функции передаются адреса загружаемых документов. Объект parent является синонимом для окна или фрейма, содержащего текущий фрейм. "TopFrame" и "BotFrame" - это как я уже говорил имена наших фреймов, в которые следует загрузить документы. В JaveScript ссылка из одного фрейма на другой фрейм, находящийся на том же уровне иерархии осуществляется используя обращение parent.famename, где famename - имя фрейма, или parent.frames[index], где frames[index] - массив содержащий запись для каждого фрейма-потомка. Но пока предлагаю не загружать голову последним вариантом, а будем обращаться через имя фрейма famename. Загрузка самого документа осуществляется через объект location, указав в его свойстве href адрес загружаемого документа, который будет содержатьcя в переменных frame1 и frame1.

Сами ссылки, в которых вызывается наша функция будут выглядеть следующим образом:

<P>
<a href="javascript:TwoByOne('MainText.html','Konfuciy.html')">
Проза</a>
<P>
<a href="javascript:TwoByOne('../Annenskij.html','../Guseva.html')">
Стихи</a>

Как это будет работать можно посмотреть на этом примере. Щелкните поочередно на каждую из ссылок в левом меню, и вы увидете как меняется содержимое обоих правых фреймов.

Теперь еще раз вернемся к работе JavaScript с изображениями. Рассмотрим как JavaScript может автоматически непрерывно сменять изображения с заданной частотой. Получается некое подобие анимации.


Хостинг от uCoz