Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сделать так, чтобы функция JS в одном фрейме изменяла свойства объектов в другом?!

Сообщения:  [1-10]    [11-20]  [21-28] 

 
 автор: Полина   (15.05.2007 в 18:58)   письмо автору
 
   для: CNT   (15.05.2007 в 18:12)
 

Понятно. Только в моем случае получается, что return false писать не нужно, т.к. у меня не только меняется шрифт в другом фрейме, но и по ссылке осуществляется переход по ссылке в том же фрейме, где ссылка.

   
 
 автор: Полина   (15.05.2007 в 18:54)   письмо автору
 
   для: ilyaILF   (15.05.2007 в 17:49)
 

Ну вот это я не подумала что из блокнота поменять можно. Даже стыдно.)

   
 
 автор: CNT   (15.05.2007 в 18:12)   письмо автору
 
   для: Полина   (15.05.2007 в 17:43)
 

При клике по ссылке обычно (т.е. по умолчанию) происходит переход страницы на URL, прописанный в атрибуте HREF
В данном случае вам же никуда переходить не надо, клик вам нужен для изменения размера шрифта в другом фрейме.
Вот поэтому инструкцией return false и отменяется "действие по умолчанию".

PS. Если ONCLICK будет написан у, например, ячейки таблицы, вот так: <td onclick="parent.frames [0].document.links [1].style.fontSize = '18pt'">text</td>, то никакого return false не надо - ведь обычно (по умолчанию) при клике по ячейке ничего ведь не происходит, значит, ничего и не надо отменять...

   
 
 автор: ilyaILF   (15.05.2007 в 17:49)   письмо автору
 
   для: Полина   (15.05.2007 в 17:36)
 

Немного слов про расширения:
1). Ну уж если вам совсем не по душе Front Page, в котором полное имя файла, вместе с расширением выводится на самой закладке открытой страницы и вы можете точно увидить какой у вас файл, с расширением .htm или .html .
2). То можно открыть в блокноте ваш HTML файл и сохранить его из блокнота с произвольным расширением - .htm или .html (а также .js, .php, .css и т.д. по необходимости)
3). А чтобы просмотреть расширения файлов в обычном "Проводнике" нужно в настройках папок "Сервис" - "Свойства папки" закладка "Вид" снять галочку с пункта "Скрывать расширения для зарегистрированных типов файлов" .

   
 
 автор: Полина   (15.05.2007 в 17:43)   письмо автору
 
   для: CNT   (15.05.2007 в 15:21)
 

Правда? А мне все время было интересно зачем эти пробелы вставляют.
Зачем return false?

Даже когда C++ изучали не понимала зачем там return 0 в конце.

   
 
 автор: Полина   (15.05.2007 в 17:36)   письмо автору
 
   для: ilyaILF   (15.05.2007 в 15:14)
 

И ведь действительно заработало!) Клево.
Про расширение я знаю. но понимаете тут такая смешная вещь вышла, что в винде расширения *.htm не отображается. Ну например БлаБла.txt пишется, а Main.htm пишется просто как Main.
Наверно это очень глупо, но как изменить расширение я не знаю уже давно. В свойствах полазала. не нашла ничего.
Ага, а сайт этот я знаю. По JS что-то там искала.
Вобщем огромное вам спасибо!

   
 
 автор: CNT   (15.05.2007 в 15:21)   письмо автору
 
   для: ilyaILF   (15.05.2007 в 15:07)
 

Чуть подправлю:
<A href="#" onclick="myfunc(); return false">


И добавлю к вашему совету: написание в коде
<a href="URL"> и <body bgcolor="red">
для браузера ничем не отличается от написания
<a href = "URL"> и <body bgcolor = "red">
(т.е. пробелы между именем атрибута и значением его никакой роли не играют)

А вот написание в коде
<script>
function myfunc()
{
parent.frames[0].document.links[0].style.fontSize='18pt';
}
</script>

выполняется браузером значительно медленнее, чем то же самое, но с пробелами:
<script>
function myfunc ()
{
parent.frames [0].document.links [0].style.fontSize = '18pt';
}
</script>

Парсер браузера, разбирая код скрипта, изначально сориентирован на пробелы и переносы строк, как на разделители операторов. Если они (пробелы) будут на своих местах, парсер работает быстрее.

   
 
 автор: ilyaILF   (15.05.2007 в 15:14)   письмо автору
 
   для: Полина   (15.05.2007 в 15:12)
 

Так заработало! Проверьте названия файлов Main.html и Menu.html - в одном из них у вас расширение .htm, в другом - .html .
P.S. http://www.intuit.ru - много хороших и полезных книг, как для начального уровня, так и для более продвинутого.

   
 
 автор: Полина   (15.05.2007 в 15:12)   письмо автору
 
   для: ilyaILF   (15.05.2007 в 15:07)
 

Ладно, спасибо БОЛЬШОЕ. Сейчас попробую все переправить. А у вас так заработало?

   
 
 автор: ilyaILF   (15.05.2007 в 15:07)   письмо автору
 
   для: Полина   (15.05.2007 в 14:56)
 

Не мог такой вариант, предложенный CNT, провалиться, потому как он правильный:
Ваша фреймовая структура - файл index.html:
<html><head><title></title>
<frameset rows="15%,*" border=0>
<frame src="Menu.html" name="top" scrolling="no">
<frame src="Main.html" name="bottom">
</frameset>
</html>

Ваш первый файл HTML - Menu.html - вы забыли в нем проставить теги <body>, впрочем как и в следующем:
<html><head>
<title></title>
<SCRIPT language="JavaScript">
function f(link)
{
link.style.fontSize="18pt";
if(f.link) f.link.style.fontSize="11pt";
f.link = link;
}
</SCRIPT>
</head>
<body>
<table width="100%" CELLSPACING="2">
<tr>
<td align="center" height="30" bgcolor = "87CEEB" title="Главная"><a href="#" target="bottom" onclick="f(this)">Главная </a></a></td>
<td align="center" height="30" bgcolor = "87CEEB" title="О себе"> <a href="#" target="bottom" onclick="f(this)">О себе </a></td></tr>
</table>
</body>
</html>

Ваш последний файл Main.html, с проставленными тегами <body>:
<html>
<head>
<script>
function myfunc()
{
parent.frames[0].document.links[0].style.fontSize='18pt';
}
</script>
</head>
<body>
<table width="200" cellspacing="2">
<tr><td HEIGHT="50" bgcolor='#87CEEB'><A href="#" onclick="myfunc();">О себе</A></td></tr>
</table>
</body>
</html>

Внимательно проверяйте названия ваших файлов, и, в особенности их расширения.
P.S.Старайтесь писать названия тегов, функций, переменных, событий всегда с маленькой буквы, вам же будет легче и будет меньше ошибок в будуещей реализации проектов. Это не касается правил записи зарезервированных функций языком JavaScript.

   

Сообщения:  [1-10]    [11-20]  [21-28] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования