Перейти к содержимому


- - - - -

"подсвечивание" раздела в меню


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Dryu

Dryu
  • Новичок

  • Пользователь
  • 20 сообщений

Отправлено 05.05.2007 - 12:55

Есть сайт http://www.speech.su с шапкой-меню на флеше.
Как сделать чтобы находясь допустим в разделе Проекты кнопка этого раздела "подсвечивалась" ?
Подразумеваю что надо передать флешу из експлорера строку адреса раздела, но как это реализовать не знаю.

Сообщение отредактировал Dryu: 05.05.2007 - 12:55


#2 Gastone

Gastone
  • Легенда форума

  • Доступ закрыт
  • 6 198 сообщений

Отправлено 05.05.2007 - 13:54

Два варианта. Первый: можно без труда сделать это меню на Javascript и никакой Flash здесь даром не нужен. Второй: найти tutorial или книгу по взаимодействию ActionScript 2.0 с XML и приемки команд, передаваемых Javascript.

#3 Dryu

Dryu
  • Новичок

  • Пользователь
  • 20 сообщений

Отправлено 05.05.2007 - 13:56

Ну без флеша не хотелось бы, там в шапочке патом что то анимироваться будет, да и менюшка нравиться шефам как крутиться там буковки. Книжки то есть разные (спасибо сообществу design books на жж ))  ),  вроде бы там всё легко делается через FlashVars, но вот пака пробую разобраться.
Думаю что очень многие сталкивались с этой проблемой.

Сообщение отредактировал Dryu: 05.05.2007 - 13:59


#4 Great Rash

Great Rash
  • Новичок

  • Пользователь
  • 42 сообщений
  • Город:Москоу знаете-ли...

Отправлено 26.07.2007 - 15:05

//на РНР пишем
 
 <?
 //Выцепляем УРЛ из командной строки и записываем его в переменную
 $url = getenv("REQUEST_URI");
 
 //Если после собссно УРЛ'а идут служебные символы GET запроса, то убиваем их 
 if (substr_count($url,'?') > 0) {
	 list($new_url,$null) = explode('?',$url);
	 $url = $new_url;
 } 
 
 
 //Если мы находимся на главной странице, то переменная = 1, далее аналогично
 if (($url == "/index.php") || ($url == "/")) {
	 $value = 1;
 } else if ($url == "/page1.php") {
	 $value = 2;
 } else if ($url == "/page2.php") {
	 $value = 3;
 } else if ($url == "/page3.php") {
	 $value = 4;
 } else if ($url == "/page4.php") {
	 $value = 5;
 }
 ?>
 
 <!-- В тэге флэша пишем... -->
 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="990" height="57" id="avant_menu" align="middle">
 <param name="allowScriptAccess" value="sameDomain" />
 <param name="movie" value="avant_menu.swf?<? echo rand(0,1000); ?>" />
 <param name="quality" value="high" />
 <param name="bgcolor" value="#ffffff" />
 
 <!-- Вот строка которая передает переменную во флэш -->
 <param name="flashvars" value="_var1=<?=$value;?>">
 <!-- Вот строка которая передает переменную во флэш -->
 
 <!-- Тут тоже пишем аналогично flashvars -->
 <embed src="avant_menu.swf?<? echo rand(0,1000); ?>" flashvars="_var1=<?=$value;?>" quality="high" bgcolor="#ffffff" width="990" height="57" name="avant_menu" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
 </object>

Во флеше пишем:

if (_var1 == 1) {
		 какой-нибуть_клип_который_является_анимированной_кнопкой
 .gotoAndPlay(2); //с кадра два начинаем анимацию
 } else if (_var1 == 2) {
		 какой-нибуть_клип_который_является_анимированной_кнопкой
 .gotoAndPlay(2); //с кадра два начинаем анимацию
 } else if... //и т.д.


#5 savana

savana
  • Новичок

  • Пользователь
  • 9 сообщений

Отправлено 07.01.2008 - 22:01

Можно сделать отдельно шапку и отдельно меню на яве как советует товарищ, делать меню на флеше пооему очень не грамотно, половина пользователей может и не дойти до нужных разделов изз отсутствия у них флеш плагина. Или в обезательном порядке нужно делать альтернативу при отсутствие флеш плеера, я например использую свфобьект библеотеку.

#6 Gastone

Gastone
  • Легенда форума

  • Доступ закрыт
  • 6 198 сообщений

Отправлено 07.01.2008 - 22:14

Чтобы сделать альтернативу потребуется указать для flash-файла прозрачный фон и отключение воздействия на <object> мыши при отсутствии подключенного плагина. Иначе, сами посудите: flash-файл выводится всегда верхним слоем, клики на нем перехватываются. Самый разумный вариант — не показывать блок с flash, если нет проигрывателя в установленном виде. Собственно, это единственный способ.

Меню на «яве» или на Javascript вы нам предлагаете все же? Одно другому не ровня. Java также как и Flash потребует «плеер» JVM, который необходимо еще и поставить заранее. Пишите корректно.

#7 ANIME ~_^

ANIME ~_^
  • Пользователь

  • Пользователь
  • 235 сообщений
  • Город:Отрадное

Отправлено 31.01.2008 - 23:33

Просмотр сообщенияDryu (5 Мая 2007, 12:55) писал:

Есть сайт http://www.speech.su с шапкой-меню на флеше.
Как сделать чтобы находясь допустим в разделе Проекты кнопка этого раздела "подсвечивалась" ?
Подразумеваю что надо передать флешу из експлорера строку адреса раздела, но как это реализовать не знаю.
Нужно переделывать саму флешку...
Кликаем два раза на кнопку, видим внутри 4-е кадра:

первый: обычное состояние кнопки;
второй: кадр, который показывается при наведении;
третий: состояние по нажатию;
четвёртый: невидимый, для указания активной области кнопки (можно оставить пустым).




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей