обращение в соседний фрейм
Есть два фрейма: frame1 и frame2. Ткнув в определенное место на первом, нужно изменить во втором картинку и текст, не перезагружая саму страницу.
Пыталась это сделать так: parent.frame2.document.images[0].scr="html/shop/map2.png"; parent.frame2.document.getElementById('text').value="tratata"; Но ничего не происходит. Скрипт находится в первом фрейме. Подозреваю, что ошибка в обращении к соседнему фрейму, но не понимаю, где. Помогите. |
rose00, нет такого свойства parent... Есть например parentNode. Но для фрейма это тег FRAMESET...
Я с фреймами даааавно не работал, а ты не утруждал себя тестовым примером... Например у windiw еть коллекция frames - т.ч. возможно к фреймам можно будет обращаться window.frames[<номер_фрейма>] Но это нужно еще проверить... |
Через коллекцию фреймов все точно так же - без реакции.
|
Цитата:
Цитата:
parent - свойство объекта Window parent == self Цитата:
parent.frames[1] //frames - содержит массив объектов Window (проверьте на length), так можно обратиться в смежный фрейм есть еще свойство top, слышали о таком : ))? |
Цитата:
|
monolithed,
alert(parent.length); Возвращает 2. parent.frames[1].document.write('fjdh'); Замечательно рисует новую страничку с текстом. Но мне не нужно это, мне нужно изменить картинку и текст. К картинке обращалась и по имени, и по айди, и по коллекции картинок - не реагирует. Я не понимаю, в чем дело. |
index.html:
<!DOCTYPE html> <html> <head></head> <body> <iframe src="iframe1.html" width="116" height="86" align="left"></iframe> <iframe src="iframe2.html" width="116" height="86" align="left"></iframe> </body> </html> iframe1.html: <!DOCTYPE html> <html> <head> <style type="text/css"> img { width: 90px; height: 70px; } </style> <script type="text/javascript"> window.onload = function(){ document.getElementsByTagName('img')[0].onclick = function(){ parent.frames[1].document.getElementsByTagName('img')[0].src = 'https://developer.mozilla.org/skins/mdn/Transitional/img/mdn-logo-compact.png'; }; }; </script> </head> <body> <img src="http://mrdoob.com/files/blog/header.png" alt="" /> </body> </html> iframe2.html: <!DOCTYPE html> <html> <head> <style type="text/css"> img { width: 90px; height: 70px; } </style> </head> <body> <img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="" /> </body> </html> |
эээм, спасибо.)
Спасибо еще раз. |
Я сделал так:
HTML код главной страницы: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> /* Обязательно показать браузеру что применяется фрейм (Frameset) */ <html> <head> <title>Название сайта</title/> <link rel="stylesheet" href="style.css"/> <meta name="description" content="Описание сайта"/> <meta name="Keywords" content="Ключевые слова, фразы"/> <base target="content"/> /* Показывает браузеру куда загружать страницу по ссылке */ </head> <body> <div id="container"> <div id="header"> </div> <div id="menu"> <ul> <li><a href="">Главная</a></li> <li><a href="">1 страница</a></li> <li><a href="">2 страница</a></li> <li><a href="">3 страница</a></li> </ul> </div> <div id="content"> <iframe src="privet.html" name="content" frameborder="0" height="800px" width="850px"></iframe> </div> <div id="clear"> </div> <div id="footer"> </div> </div> </body> </html> HTML код загружаемых по ссылкам страниц: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>Название страницы</title> <meta name="description" content="Описание"> <meta name="Keywords" content="Ключевые слова, фразы"> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="content"> Содержимое страницы <p><a href="index.html" target="_top"><B>На главную</B></a></p> /* устраняем недостаток фреймовой структуры. При подаче поисковиком одной из страниц сайта, в которых нет ссылок на другие страницы, посетитель сможет перейти на главную страницу. */ </div> <div id="clear"> </div> </body> </html> Код css: body { background: #C0C0C0; color: #000000; font-family: Trebuchet MS, Arial, Times New Roman; font-size: 14px; } #container { background: #FFFFFF; margin: 30px auto; width: 1000px; height: 800px; } #header { background-image: url(696.jpg); width: 1000px; height: 188px; } #menu ul, li { margin: 0; /* убираем поля */ padding: 0; /* и отступы */ } #menu { float: left; width: 150px; /* ширине меню */ border: 2px #000 solid; /* стили рамки */ padding: 0 3px; /* отступы по бокам */ } #menu li { text-align: margin: 3px 0; /* поля сверху и снизу */ } #menu a { display: block; /* делаем ссылки блоками */ color: Black; /* цвет текста ссылок */ background: #99CC99; /* фон */ text-decoration: none; /* отмена подчеркивания */ padding: 8px 5px; /* отступы внутри ссылок */ } #menu li, a { zoom:1; /* для IE6 и IE7 */ } #menu a:hover { background: #CCFF99; /* фон ссылок при наведении курсора мыши */ } #content { float: right; background: White; width: 840px; } a:visited { color: Gray; text-decoration: none; /* отмена подчеркивания */ } #content p { text-align: justify; text-indent: 2em; margin: 15px; padding: 0 15px; } h4 { color: Maroon; text-align: center; } h3 { color: Gray; text-align: center; } #clear { clear:both; } #footer { background: #838283; height: 40px; width: 1000px; text-align: justify; text-indent: 1.5em; margin: 0; padding: 0 15px; } Мой сайт http://misterdd.p.ht |
misterdd,
Есть кнопочка ![]() Оберните весь код и добавьте красным в первый тег [HTML run][/html] |
Часовой пояс GMT +3, время: 01:58. |