Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Фоновая музыка на страничке


Автор: slva2000 29.10.2005, 14:03
Доброго дня, уважаемые.

Уже замучался сам, пришёл за помощью.

код таков:
Код

<form name=form1>
<select name=forma size=12 multiple>
<option value=1>MMF-PRO_RU_Faktor_2_Tyi_prosti_menya
<option value=2>A-Evropa_Belyie Nebesa
.
.
.
</select>
</form>



задача: как сделать так, чтобы по клику из списка, выполнялся тэг

Код

<EMBED SRC="название_песни_из_списка.mp3" AUTOSTART="false" hidden>


т.е. человек смотрит список с композициями, нажимает на нужную она подгружается и в скрытом режиме начинает воспроизводиться..

Спасибо за внимание.

Автор: Aliance 29.10.2005, 15:08
я так понимаю убирать атрибут hidden, почитай о теге embed на MSDN, может так что есть.
Я с ним не работаю…

Автор: Sardar 29.10.2005, 15:30
Для ИЕ наверное проще bgsound использовать в заголовке.

Даёшь проигрывающему элементу id, затем при выборе из списка document.getElementById('ид_элемента').src=путь до музыки. Если музыка играеться через object, файл для которого задаёться через параметры(например через флешку), то достаём список всех параметров: elem.getElementsByTagName('param'); пробегаемся, ищем с необходимым аттрибутом param.name, как нашли, меняем его param.value="путь до музыки";

Должно либо заиграть, либо запуститься winamp/qplayer/и подобные.

Автор: slva2000 29.10.2005, 16:23
дошёл до этого:
привызове функции sound() вспылвает фрейм нулевого размера и играеться соотв. mp3.


Код


<IFRAME FRAMEBORDER=0 HEIGHT=1 WIDTH=1 NAME="blank" SCROLLING=NO></IFRAME>
<script language="JavaScript">
<!--
function sound()
{
top.blank.document.write("<BGSOUND src=MMF-PRO_RU_Faktor_2_Tyi_prosti_menya.mp3 loop=1>");
}
--></script>

<form name=form1>
текст1
<select name=forma size=12 multiple >
<option value="1">MMF-PRO_RU_Faktor_2_Tyi_prosti_menya
<option value="2">A-Evropa_Belyie Nebesa
<option value="3">Amel Bent - Ma Philosophie
</select>
</form>



Здесь пример для первой строчки формы.
Как теперь автоматизировать процесс для реализации события по onClick соответствующей формы?
Помоги пожалуйста!

Автор: Sardar 29.10.2005, 18:32
Убирай ифрейм и прочую муру, ставь свой bgsound в заголовок (head) текущей страницы. Добавь аттрибут id="my_sound". Теперь мы можем обращаться к этому обьекту по идентификатору.

Далее отлавливаем на селекте событие onchange(введи в поиске здесь для примеров), получай value вбранной опции. В аттрибуте value должно быть не левое 1,2,3 а имя файла. Получив имя файла, достаём my_sound по идентификатору document.getElementById('my_sound').src=имя_файла; Элементарно!

Автор: Aliance 29.10.2005, 18:33
Пользуйся поиском, подобное много раз спрашивалось.
Тебе нужно использовать так:
Код

<select ... onchange="function_qwer(this.options[this.selectedIndex].value)">

Автор: slva2000 29.10.2005, 19:05
Спасибо за ответы.
но ещё чёть чуть...! плиз!


Код

<head>
<bgsound id="my_sound>
</head>

<script language="JavaScript"><!--
function sound(){
document.getElementById('my_sound').src=Nn.mp3};
--></script> 

<form name=form1>
<select name=forma size=12 multiple onchange="sound(this.options[this.selectedIndex].value)" >
<option value="Nn.mp3">MMF-PRO_RU_Faktor_2_Tyi_prosti_menya</option>
<option value="A.ZACEPIN-ULETAYu.mp3">A-Evropa_Belyie Nebesa</option>


тело функции помоему неверно...

Автор: Aliance 29.10.2005, 19:09
Тебе форумская подсветка ни о чем не говорит? Кавычку в bgsound закрой.
Добавлено @ 19:12
И функцию свою перепиши так:
Код

function sound(clip) {
   document.getElementById('my_sound').src = ((clip) ? clip : "Nn.mp3");
}

Автор: slva2000 29.10.2005, 19:21
Большое спасибо Aliance, Sardar !

Автор: Aliance 29.10.2005, 19:22
Код

<body onload="sound()">

Это чтобы при загрузке страницы играла песню по умолчанию

Автор: capitan 12.7.2007, 17:39
Это всё подходит, если страницу не перегружаем. А как сделать, чтобы переходить по страницам сайта, а музыка играла в фоне, не перезапускалась, при каждом клике? Кто нибудь реализовывал такое?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)