Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2012, 17:03
Интересующийся
Отправить личное сообщение для bratkovsky Посмотреть профиль Найти все сообщения от bratkovsky
 
Регистрация: 28.07.2012
Сообщений: 12

Помогите упростить функцию
Например при 50-ти песнях которые дожны играть при нажатии на ссылку
получается очень много funktion play нужно создавать, пожайлуста помогите упростить это дело...

в плеере есть music1.mp3 для проигрывания музыки


<html>
<head>






</head>
<body>

<script>

function play1()
{
	var div=document.getElementById('Result');
	div.style.display=(div.style.display=='none') ? '' : 'none';
	div.innerHTML='<center><object id="player" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/ump3player_500x70.swf" height="45" width="300"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/ump3player_500x70.swf" /><param id="line" name="FlashVars" value="way=music1.mp3&amp;swf=http://flv-mp3.com/i/pic/ump3player_500x70.swf&amp;w=250&amp;h=37&amp;time_seconds=0&amp;autoplay=1&amp;q=&amp;skin=white&amp;volume=70&amp;comment=" /></object></center>  ';
}



function play2()
{
	var div=document.getElementById('Result');
	div.style.display=(div.style.display=='none') ? '' : 'none';
	div.innerHTML='<center><object id="player" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/ump3player_500x70.swf" height="45" width="300"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/ump3player_500x70.swf" /><param id="line" name="FlashVars" value="way=music2.mp3&amp;swf=http://flv-mp3.com/i/pic/ump3player_500x70.swf&amp;w=250&amp;h=37&amp;time_seconds=0&amp;autoplay=1&amp;q=&amp;skin=white&amp;volume=70&amp;comment=" /></object></center>  ';
}



function play3()
{
	var div=document.getElementById('Result');
	div.style.display=(div.style.display=='none') ? '' : 'none';
	div.innerHTML='<center><object id="player" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/ump3player_500x70.swf" height="45" width="300"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/ump3player_500x70.swf" /><param id="line" name="FlashVars" value="way=music3.mp3&amp;swf=http://flv-mp3.com/i/pic/ump3player_500x70.swf&amp;w=250&amp;h=37&amp;time_seconds=0&amp;autoplay=1&amp;q=&amp;skin=white&amp;volume=70&amp;comment=" /></object></center>  ';
}

</script>


<a class='link' OnClick='play1();'>Play1</a><br>
<a class='link' OnClick='play2();'>Play2</a><br>
<a class='link' OnClick='play3();'>Play3</a><br>

<div id='Result' style='dysplay:none'></div>


</body></html>
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2012, 17:12
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

У вас функции отличаются только одним символом в длинном строковом литерале. Поэтому лучше сделать 1 функцию и передать номер музыкального файла в качестве параметра.
function play(index)
{
    var div=document.getElementById('Result');
    div.style.display=(div.style.display=='none') ? '' : 'none';
    div.innerHTML='<center><object id="player" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/ump3player_500x70.swf" height="45" width="300"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/ump3player_500x70.swf" /><param id="line" name="FlashVars" value="way=music'+index+'.mp3&amp;swf=http://flv-mp3.com/i/pic/ump3player_500x70.swf&amp;w=250&amp;h=37&amp;time_seconds=0&amp;autoplay=1&amp;q=&amp;skin=white&amp;volume=70&amp;comment=" /></object></center>  ';
}

<a class='link' OnClick='play(1);'>Play1</a><br>
<a class='link' OnClick='play(2);'>Play2</a><br>
<a class='link' OnClick='play(3);'>Play3</a><br>
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2012, 17:23
Интересующийся
Отправить личное сообщение для bratkovsky Посмотреть профиль Найти все сообщения от bratkovsky
 
Регистрация: 28.07.2012
Сообщений: 12

Понимаете просто адрес music1.mp3 может быть разным в названии, здесь цифра просто для примера...

как передать name.mp3 в плеер чтоб при нажатии плеер принял url и при этом как бы обновился?
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2012, 17:29
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Тогда в функцию нужно передать ту подстроку, которая может изменяться.
function play(name)
	{
	    var div=document.getElementById('Result');
	    div.style.display=(div.style.display=='none') ? '' : 'none';
	    div.innerHTML='<center><object id="player" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/ump3player_500x70.swf" height="45" width="300"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/ump3player_500x70.swf" /><param id="line" name="FlashVars" value="way='+name+'&amp;swf=http://flv-mp3.com/i/pic/ump3player_500x70.swf&amp;w=250&amp;h=37&amp;time_seconds=0&amp;autoplay=1&amp;q=&amp;skin=white&amp;volume=70&amp;comment=" /></object></center>  ';
	}

<a class='link' OnClick='play("music1.mp3");'>Play1</a><br>
<a class='link' OnClick='play("music2.mp3");'>Play2</a><br>
<a class='link' OnClick='play("music3.mp3");'>Play3</a><br>

Я никогда не работал с флеш-роликами на веб-странице и не знаю, есть ли лучше способ проиграть ролик сначала с новыми параметрами, чем создавать элемент <object> заново.

Последний раз редактировалось oneguy, 28.07.2012 в 17:32.
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2012, 17:33
Интересующийся
Отправить личное сообщение для bratkovsky Посмотреть профиль Найти все сообщения от bratkovsky
 
Регистрация: 28.07.2012
Сообщений: 12

Спасибо я уже догна фишку просто зарание после вашего ответа задал вопрос большое спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2012, 17:43
Интересующийся
Отправить личное сообщение для bratkovsky Посмотреть профиль Найти все сообщения от bratkovsky
 
Регистрация: 28.07.2012
Сообщений: 12

Простите у меня тут еще один вопрос а как в таком случае передать два значения в плеер music.mp3 и еще коментарий в параметр comment=коментарий? comment= он в коце плеера..
Ответить с цитированием
  #7 (permalink)  
Старый 28.07.2012, 18:07
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

function play(name, comment)
	{
	    var div=document.getElementById('Result');
	    div.style.display=(div.style.display=='none') ? '' : 'none';
	    div.innerHTML='<center><object id="player" type="application/x-shockwave-flash" data="http://flv-mp3.com/i/pic/ump3player_500x70.swf" height="45" width="300"><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://flv-mp3.com/i/pic/ump3player_500x70.swf" /><param id="line" name="FlashVars" value="way='+name+'&amp;swf=http://flv-mp3.com/i/pic/ump3player_500x70.swf&amp;w=250&amp;h=37&amp;time_seconds=0&amp;autoplay=1&amp;q=&amp;skin=white&amp;volume=70&amp;comment="'+comment+'" /></object></center>  ';
	}

<a class='link' OnClick='play("music1.mp3", "comment1");'>Play1</a><br>
<a class='link' OnClick='play("music2.mp3", "comment2");'>Play2</a><br>
<a class='link' OnClick='play("music3.mp3", "comment3");'>Play3</a><br>
Ответить с цитированием
  #8 (permalink)  
Старый 28.07.2012, 18:14
Интересующийся
Отправить личное сообщение для bratkovsky Посмотреть профиль Найти все сообщения от bratkovsky
 
Регистрация: 28.07.2012
Сообщений: 12

Спасибо, спасибо и еще раз большое спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить функцию поиска слова opeen_door Общие вопросы Javascript 3 31.10.2011 21:44
Помогите настроить функцию _di jQuery 0 04.04.2011 23:52
Помогите вынести обработчик события в функцию. prowoke Events/DOM/Window 3 25.03.2011 00:55
Помогите упростить скрипт. operatorr Ваши сайты и скрипты 6 05.01.2010 12:57
Помогите!!! Из нового окна вызвать функцию ignavr Элементы интерфейса 5 13.12.2009 13:04