问候。
我正在为 Flash-HTML 混合网站开发一个动画主页,为了标准,我的解决方案被证明是困难的。我不是 Javascript 专业人士,因此不胜感激!
这是破败:
对于 Flash 用户,HTML 页面加载可变高度的 AS3 Flash 电影,该电影将从556 像素高开始,在完成其动画序列后,通过 Actionscript + JavaScript 补间到250 像素高。
为了开始这个电影序列—— (左下) ——我试图通过 MooTools 设置 Flash 电影的初始高度,所以如果用户没有启用 Flash 或 Javascript,他们将看到较短高度的图像区域显示替代图像内容和 HTML 内容(右下)。
Element.setStyle
设置高度很好,直到 swfObject 运行,此时电影崩溃,因为我没有通过 CSS 指定高度。如果用户没有 Flash,则默认为静态图片的高度。
所以这是我的问题:有谁知道如何将高度变量设置为宽度/高度@ 100% 时动态传递给 swfobject?我是否会无缘无故地尝试使用两个页面高度?
图像序列:
左 -初始 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>