Показать сообщение отдельно
Старый 17.01.2011, 23:07
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 8  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Выходит при ширине меньше 1000px флэшка должна вести себя как SHOW_ALL, а при ширине больше 1000px — как NO_BORDER. Но если я не ошибаюсь, событие Event.RESIZE внутри флэшки, по которому ты мог бы делать подобное переключение тебе не подойдет — согласно документации оно работает только при NO_SCALE.

Тогда доработаем javascript из этой темы и размещаем его в <head></head>:

Код:
<script language="javascript">
function getSWFHeight()
{
	var clientWidth = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
	var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;

	var res;
			
	if (clientWidth < 1000 || clientHeight / clientWidth > 0.6)
	{
		res = clientWidth * 0.6;
	} else {
		res = "100%";
	}
			
	return res;
}

function fitSWF()
{
	var my = document.getElementById('flash1');
	my.height = getSWFHeight();
}
</script>
Чтобы сразу формировался правильный размер:
Код:
<script type="text/javascript">
	swfobject.embedSWF("NOscale.swf", "flash1", "100%", getSWFHeight(), "9", "/swf/expressInstall.swf");
</script>
И чтобы работало по ресайзу:

Код:
<body onresize="fitSWF()">
И наконец в самом мувике:
Код AS3:
stage.scaleMode = StageScaleMode.NO_BORDER;
При таких делах мувик всегда будет на всю ширину браузера, а если высоты меньше, чем нужно — нижний край обрежется.
__________________
Поймай яблоко 2!


Последний раз редактировалось Zebestov; 17.01.2011 в 23:10.