Привет.
Я занимаюсь разработкой анимированной домашней страницы для гибридного веб-сайта Flash-HTML, и ради стандартов мое решение оказывается трудным. Я не Javascript Pro, поэтому любая помощь приветствуется!
Вот сокращение:
Для пользователей Flash: HTML-страница загружает Flash-ролик AS3 с переменной высотой, который начинается с 556 пикселей , а после завершения анимационной последовательности анимацию движения через ActionScript + JavaScript до 250 пикселей. .
Чтобы запустить эту последовательность фильмов - (внизу слева) - Я пытаюсь установить начальную высоту фильма Flash с помощью MooTools, поэтому, если у пользователей не включены Flash или Javascript, они увидят область изображения более короткой высоты с альтернативным содержимым изображения и содержимым HTML, показанным (внизу справа) .
Element.setStyle
отлично устанавливает высоту до тех пор, пока не запустится swfObject, после чего фильм сворачивается, так как я не определяю высоту с помощью CSS. Если у пользователей нет Flash, по умолчанию используется высота статического изображения.
Итак, вот мой вопрос: кто-нибудь знает, как динамически передавать переменную высоты в swfobject, когда она установлена на width / height @ 100%? Я убиваюсь без причины, пытаясь работать с двумя страницами высоты?
Последовательность изображений:
Слева - Начальный Flash-ролик с HTML-навигацией ниже
Справа - Фильм с измененным размером в конце последовательности с HTML-навигацией и содержимым ниже, выглядит так же, как версия без Flash (статическое изображение)
альтернативный текст http://client.deicreative.com/op/images/twopages.jpg
^^ should land here for users w/o Flash
<script type="text/javascript">
<!--
window.addEvent('domready', function() {
$('flashContent').setStyle('height', 556); // sets height for initial movie
$('homeContent').setStyle('display', 'none'); // hides homepage text + photos below
doSwfObject(); // attempting to start swfObject after setStyle is done
});
function resizePage(h) { // to be called from AS3
var tweenObj = new Fx.Tween('flashContent');
tweenObj.start('height', h);
}
function doSwfObject(){
var flashvars = {};
var params = { scale: "noScale" };
var attributes = { id: "flashContent", name: "flashContent" };
swfobject.embedSWF("swf/homeMovie.swf", "flashContent", "100%", "100%", "9.0.0", false, flashvars, params, attributes);
alert(document.getElementById('flashContent').style.height);
// alerts & shows correct height, but page collapses after hitting 'ok'
}
//-->
</script>