Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вызов звуковой функции во фреймах, как вызвать из одного фрейма звук в друг 
:(
    Опции темы
krems
Дата 22.8.2004, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.8.2004

Репутация: нет
Всего: нет



у меня 2 фрейма:
<frameset rows="0,*" frameborder="0" framespacing="0">
<frame id="top1" src="top.htm" marginwidth="0" marginheight="0" scrolling="yes" frameborder="0">
<frame id="bottom" src="mi.htm" marginwidth="0" marginheight="0" scrolling="yes" frameborder="0">
</frameset>
---------------------
во фрейме top1:
<embed src="zebra.mp3" hidden=true autostart=false loop=true name="firstSound" MASTERSOUND>
<script language="JavaScript">
function playSound() {document.firstSound.play();}
function stopSound() {document.firstSound.stop();}
</script>
-----------------------------------------
проигрывание zebra.mp3 нужно вызвать из второго фрейма "bottom" (это делается, чтобы при переходе на другие страницы музыка не исчезала, и чтобы при помощи кнопки можно было её останавливать).
--------------------------------
почему такая вещь не срабатывает из любой страницы?
parent.window.top1.playSound();
---------
важный вопрос, заранее спасибо ответившим.

------------------------
только что решил проблему добавлением паузы
setTimeout('playSound()',100)
но почему не работает без паузы - непонятно...

Это сообщение отредактировал(а) krems - 22.8.2004, 13:52
PM MAIL   Вверх
Aliance
Дата 22.8.2004, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



krems
Пауза обычно нужна для того, чтобы документ успел загрузиться; кстати, у тебя фреймы, может быть стоит в обоих поставить в обрабочике onunload=" return false;"

Цитата
почему такая вещь не срабатывает из любой страницы?
parent.window.top1.playSound();


Потому что тут ты дело имеешь с фреймами, замени parent.window.top1.playSound(); на parent.ИмяФрейма.playSound();

Это сообщение отредактировал(а) Aliance - 22.8.2004, 14:21
PM MAIL WWW ICQ Skype   Вверх
krems
Дата 22.8.2004, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.8.2004

Репутация: нет
Всего: нет



Aliance,

спасибо, сейчас всё работает, но возникла другая проблема: пропадают <marquee> (они на каждой странице).
PM MAIL   Вверх
Aliance
Дата 22.8.2004, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



krems
Э...если чесно не помню что это такое, это вроде бы движущийся текст ?
НЕсли я не ошибаюсь - то причина может быть в следующем: и этот тег и муз. файл содержат loop... В связи с этим что-то нужно изменить/дополнить, либо убрать движущийся текст - не обязательный же элемент дизайна =)
Пиши о результатах...
PM MAIL WWW ICQ Skype   Вверх
krems
Дата 22.8.2004, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.8.2004

Репутация: нет
Всего: нет



что интересно, <marquee> не исчезает, когда в нижней части экрана:

mi.htm

то есть та страница, которая сразу загружается
<frame id="bottom" src="mi.htm" marginwidth="0" marginheight="0" scrolling="yes" frameborder="0">

а при переходе на другие страницы <marquee> исчезает.

как сделать, чтобы музыка не бесконечное количество раз крутилась, а определённое?
<embed src="zebra.mp3" hidden=true autostart=false loop=true name="firstSound" MASTERSOUND>

сделал музыку
loop=false
всё равно строка не бежит, придётся менять <marquee> на JS.

Aliance,
не знаете, где можно скачать скрипт бегущей строки не только справа налево, но и наоборот?

Это сообщение отредактировал(а) krems - 22.8.2004, 15:28
PM MAIL   Вверх
Aliance
Дата 22.8.2004, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



krems
Ну кол-во проигрываний зависит от параметра loop, т.е. если у <marquee> поставить loop=2, то она два раза прокрутиться (если стоит круговая прокрутка); тоже и с музыкой. Поставь loop равный нужному кол-ву воспроизведения музыки, т.к. сейчас у Вас стоит loop=true, значит, что loop просто существует, кол-во же не указано rolleyes.gif

Цитата
не знаете, где можно скачать скрипт бегущей строки не только справа налево, но и наоборот?


С помощью JS, думаю, невозможно (только если манипулируя свойствами того же HTML), но зачем JavaScript'ом пользоваться, если всё можно прекрасно сделать в HTMLе?!
Код

<marquee loop="3" direction="right">бешущая строка</marquee>

Параметры:
loop="х", где х - кол-во прокруток
direction="х", где х может принимать значения right (слева направо) или left (справа налево)
cool.gif

Это сообщение отредактировал(а) Aliance - 22.8.2004, 16:38
PM MAIL WWW ICQ Skype   Вверх
korob2001
Дата 22.8.2004, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

<marquee loop="3" direction="right">бешущая строка</marquee>

Этот код в Navigatore работать не будет.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
korob2001
Дата 22.8.2004, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

не знаете, где можно скачать скрипт бегущей строки не только справа налево, но и наоборот?

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script defer language="JavaScript" type="text/javascript">
 <!--//
  function goToRight() {
           // Проверка для совместимости IE и NN
  if ( document.all ) {
                    if ( mess.style.pixelLeft < 500 ) {
                         mess.style.pixelLeft += 2;
                         setTimeout("goToRight()", 50);
                    } else {
                         goToBottom();
                    }
  } else {
                    if ( document.mess.left < 500 ) {
                         document.mess.left += 2;
                         setTimeout("goToRight()", 50);
                    } else {
                         goToBottom();
                    }
              }
}

function goToBottom() {
              if ( document.all ) {
                    if ( mess.style.pixelTop < 500 ) {
                         mess.style.pixelTop += 2;
                         setTimeout("goToBottom()", 50);
                    } else {
                         goToLeft();
                    }
             } else {
                    if ( document.mess.top < 500 ) {
                         document.mess.top += 2;
                         setTimeout("goToBottom()", 50);
                    } else {
                         goToLeft();
                    }
             }
}

function goToLeft() {
              if ( document.all ) {
                    if ( mess.style.pixelLeft > 1 ) {
                         mess.style.pixelLeft -= 2;
                         setTimeout("goToLeft()", 50);
                    } else {
                         goToTop();
                    }
             } else {
                    if ( document.mess.left > 1 ) {
                         document.mess.left -= 2;
                         setTimeout("goToLeft()", 50);
                    } else {
                         goToTop();
                    }
            }
}
 
function goToTop() {
              if ( document.all ) {
                   if ( mess.style.pixelTop > 1 ) {
                        mess.style.pixelTop -= 2;
                        setTimeout("goToTop()", 50);
                   } else {
                        goToRight();
                   }
             } else {
                   if ( document.mess.top > 1 ) {
                        document.mess.top -= 2;
                        setTimeout("goToTop()", 50);
                   } else {
                        goToRight();
                   }
            }
}
 //-->
</script>
</head>

<body onLoad="goToRight()">
<div id="mess" style="position: absolute; left: 1; top: 1; font-weight: bold; font-color: #000000">Hello, world!</div>
</body>
</html>


PS: Этот код работает как в IE так и в Navigator'e. Если чего-то не поймёшь пиши, могу пояснить каждую строку.

Удачи

Это сообщение отредактировал(а) korob2001 - 22.8.2004, 18:07


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Sardar
Дата 22.8.2004, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(korob2001 @ 22.8.2004, 15:44)
Этот код в Navigatore работать не будет.

Нет этот код в старом пофигаторе работать не будет, в современных браузерах(семейство Gecko, ИЕ, Опера) тег marquee работает.
Обращатся к embed надо через:
Цитата
document.embeds.firstSound.play();


Покажи код, интересно посмотреть на глюк с пропаданием marquee smile.gif


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
korob2001
Дата 23.8.2004, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

Нет этот код в старом пофигаторе работать не будет, в современных браузерах(семейство Gecko, ИЕ, Опера) тег marquee работает.

В NetscapeNavigator4.0 у меня не работает, но ведь он не такой и старый. Что касается Navigator 7.1, в нём действительно всё работает. ;)


Это сообщение отредактировал(а) korob2001 - 23.8.2004, 01:30


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Gold Dragon
Дата 23.8.2004, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Цитата(korob2001 @ 23.8.2004, 02:25)
В NetscapeNavigator4.0 у меня не работает, но ведь он не такой и старый
biggrin.gif biggrin.gif biggrin.gif
Если не изменяет память, то он примерно 1997 года выпуска, поддерживает только CSS1 и с трудом JavaScript 1.2

Sardar
Не нашёл описание document.embeds.firstSound.play();, если не трудно поясни что с чем и в чем поддерживается.




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
korob2001
Дата 23.8.2004, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

Если не изменяет память, то он примерно 1997 года выпуска, поддерживает только CSS1 и с трудом JavaScript 1.2

;)
Да я не о том, когда его выпустили. Просто пока ещё достаточно много людей его юзают.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Sardar
Дата 23.8.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Red @ 23.8.2004, 07:05)
Не нашёл описание document.embeds.firstSound.play();, если не трудно поясни что с чем и в чем поддерживается.

Это коллекция всех "инородных обьектов" на странице, точно так же как document.links это коллекция всех сслыок на странице.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
krems
Дата 26.8.2004, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 22.8.2004

Репутация: нет
Всего: нет



korob2001,
я модифицировал эту функцию, надо чтобы только слева направо бежала строка:

function goToRight() {

if ( document.all ) {
if ( mess.style.pixelLeft < 700 ) {
mess.style.pixelLeft += 2;
setTimeout("goToRight()", 50);
} else {
mess.style.pixelLeft = 0; setTimeout("goToRight()", 50);
}
}
}

------------
но проблема, что если много слов, это не работает (2 строки бегут), может есть готовая функция получше?
PM MAIL   Вверх
korob2001
Дата 27.8.2004, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Вот нашёл скрипт на http://woweb.ru
Скрипт


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1119 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.