Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.01.2011, 01:21
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 1  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
По умолчанию Флешка на всю ширину сайта, не масштабируемая при масштабировании страницы

Задача сделать чтоб флешка, при разных разрешениях экрана вписывалась на всю страничку по ширине. Для этого я в HTML делаю ей width=100%. Ширина самой флешки 1200. Пробую на разных мониторах, все нормально- флешка растягивается,сужается. Но при масштабировании страницы, флешка тоже масштабируется, что не нужно мне по задумке!
Если запрещать флешке масштабирование, те писать:

Код AS3:
stage.scaleMode = StageScaleMode.NO_SCALE;
то она не растягивается по ширине экрана.
Подскажите есть ли какое решение данной проблемы.


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

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Вопрос не в том разделе. В HTML все сделано верно. NO_SCALE тоже правильно.
Дальше работаем над расположением элементов с помощью Stage#stageWidth и Stage#stageHeight.
__________________
Поймай яблоко 2!

Старый 17.01.2011, 19:33
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 3  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
Zebestov, понимаете, мне нужно чтобы флешка растягивалась в браузере на полную ширину, но сохраняла пропорции по высоте.
Stage#stageWidth и Stage#stageHeight это значения только для чтения же, а мне нужно растянуть всю флеш (можно с маштабированием элементов внутри)

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

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Задача сделать чтоб флешка, при разных разрешениях экрана вписывалась на всю страничку по ширине.
Цитата:
Но при масштабировании страницы, флешка тоже масштабируется, что не нужно мне по задумке!
"Хочу на всю ширину, но чтобы не растягивалось." — это вообще как? 0о

Добавлено через 2 минуты
Наугад: вместо NO_SCALE используй NO_BORDER
__________________
Поймай яблоко 2!

Старый 17.01.2011, 20:30
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 5  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
я не так выразился)
Тоесть флешка занимает всю максимальную ширину окна (высота пропорциональна увличивается), но при сужении ширины браузера (окна) высота не уменьшается)
Любой флеш сайт прмером может послужить, при разных разрешениях экрана флеш раздвигается под макс ширину браузера, но высота остается пропорционально ширине (примечание. флеш при сужении окошка не сжимается по ширине а просто скрывает края...ну как при NO_SCALE)

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

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
А как ты прописываешь высоту в HTML?
Просто при width=100%, height=100% и stage.scaleMode=StageScaleMode.SHOW_ALL все должно происходить именно так, как ты и хочешь.
С учетом такой путаницы тебе наверное лучше уже показать проблему.
__________________
Поймай яблоко 2!

Старый 17.01.2011, 21:09
Toxedo вне форума Посмотреть профиль Отправить личное сообщение для Toxedo Найти все сообщения от Toxedo
  № 7  
Ответить с цитированием
Toxedo

Регистрация: Oct 2007
Сообщений: 85
Сейчас вышлю ссылку на пример)

Добавлено через 25 минут
http://pavel-ocokin.narod.ru/ak3.html
Вот) Сама флешка серым цветом. Ширина 1000, высота 600.
Буквы начинаются и кончаются ровно по краям флешка. Тут загрузил с параметром NO_SCALE.

Это правильно. Эфект при сужении расширении окна именно такой о каком я говорил. Как видно флеш не растягивается по длинне, нужно чтобы флешка была от края до края по ширине браузера (тоесть в развернутом виде браузера). Высота как я и говорил должна сохранять пропорции. Ширина и Высота - но скейл - тоесть как загрузили, больше будет меняться.

Т.е. ЧТобы человек загрузил с расширением 800 на 600, ширина флешки стала 800 - высота соотвественно в пропорции тоже уменьшилась) 1200 на 720 - ширина 1200,высота увеличилась.
Вот такая штука...


хтмл:
Код:
<script type="text/javascript" src="swfobject.js"></script>

<script type="text/javascript">
swfobject.embedSWF("NOscale.swf", "flash1", "100%", "100%", "9", "/swf/expressInstall.swf");
</script>
 
<div id="flash1">
    <p>Flash Clocks, install adobe flash player</p>
    <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
</html>


<style type="text/css">
body {
margin: 0;
padding: 0;
}
</style>
</html>


Последний раз редактировалось Toxedo; 17.01.2011 в 21:44.
Старый 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.
Старый 18.01.2011, 00:53
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 9  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
оффтоп: а откуда мода пошла обозначать методы классов через Stage#stageHeight?
В справочнике # - это якорь
__________________
Отряд Котовскага

Старый 18.01.2011, 00:57
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 10  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
оффтоп: а я знаю? )
__________________
Поймай яблоко 2!

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:02.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.