当前位置:  开发笔记 > 编程语言 > 正文

如何在运行时调整swf的大小以使浏览器创建html滚动条?

如何解决《如何在运行时调整swf的大小以使浏览器创建html滚动条?》经验,为你挑选了1个好方法。

我有一个带有加载文本的swf到一个Sprite中,根据放入的内容调整大小 - 我喜欢那些比页面更长的浏览器使用其原生滚动条而不是在actionscript中处理它(非常很像http://www.nike.com/nikeskateboarding/v3/ ...)

我确实看过nike做过的东西但是却无法将其拉下来.有任何想法吗?



1> Theo..:

诀窍是使用一些简单的JavaScript来调整Flash DOM节点的大小:

function resizeFlash( h ) {
    // "flash-node-id" is the ID of the embedded Flash movie
    document.getElementById("flash-node-id").style.height = h + "px";
}

您可以在Flash电影中调用,如下所示:

ExternalInterface.call("resizeFlash", 400);

您实际上不需要外部使用JavaScript代码,如果您想要,可以从Flash完成所有操作:

ExternalInterface.call(
    "function( id, h ) { document.getElementById(id).style.height = h + 'px'; }",
    ExternalInterface.objectID,
    400
);

匿名函数只是能够将ID和高度作为参数传递,而不是将它们连接到JavaScript字符串中.

我认为JavaScript是相当跨平台的.如果你想看一个现场的例子,请看这个网站:talkoftheweather.com.它可能看起来不像它做任何事情,但它会自动调整Flash电影大小以适应所有新闻项目(它只是在加载新闻后才会这样做,这样做很快就会发现它没有发生).调整大小会强制浏览器显示垂直滚动条.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有