我在HTML页面中有一个基于Flash的SWFUpload上传按钮。
我正在尝试设置该按钮的样式。 SWFUpload为Flash按钮的设置提供了Javascript设置界面。我自己没有Flash,所以我必须使用预编译的SWF文件。
.....
button_width: "100",
button_height: "20",
button_placeholder_id: "spanButtonPlaceHolder",
button_text: '<span class="theFont">Upload</span>',
button_text_style: ".theFont { font-size: 18; font-family: Verdana; color: #FFFFFF; }",
button_text_left_padding
....
现在,我希望该按钮符合其所在的HTML元素的背景颜色。我不关心我是通过透明度还是通过给闪光灯按钮颜色来实现这一点。但是SWFUpload 2.20没有设置来再指定背景颜色,我不想使用具有指定颜色的背景图像。
我试过
button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,
这为我提供了一个透明按钮,但它不再对点击事件做出反应。即使我点击文字的微小白色像素也不行。
我尝试给它一个透明的背景图片:
button_image_url : "$swfupload_widget_webroot/images/transparent.png", // 1x1 Pixel
button_image_width: 100,
button_image_height: 20,
但无济于事。
有人知道该怎么做吗?
为什么设置为transparent
?
我在Windows 7上测试Firefox 3.5。
答案 0 :(得分:2)
透明和不透明等窗口模式因其造成的奇怪输入错误而臭名昭着。当你可以的时候,远离它绝对是一个好主意。
我没有使用过SWFUpload,所以我不完全确定如何嵌入SWF文件。但不管具体细节如何,最后我确定它使用的是embed / object标签,对于那些,还有 bgcolor 参数覆盖了SWF文件中指定的背景颜色。我建议考虑a look at this parameter (scroll down)。
SWFObject是使用javascript动态嵌入SWF文件的常用方法。如果是SWFUpload使用的,您应该能够应用以下原则来设置bgcolor参数:
var params = {
bgcolor: #ffcc00,
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0",
"expressInstall.swf", {}, params, {});
正如我所说,我不确定SWFUpload接口是什么样的,但关键是要找到一种方法来指定嵌入参数。希望这至少会推动你朝着正确的方向前进!
答案 1 :(得分:2)
我注意到,当mode = transparent或mode = opaque时,flash看到鼠标不是点击。所以在flash文件中我改变了按钮动作
on(release){
到
on(rollOver){
你不知道,它有效。这有点古怪,因为人们无论如何都会点击它,并且必须将鼠标从按钮上移开以再次“点击”它。但它比重新设计整个主页菜单更好,因为客户想要一个flash横幅。 当然,如果你没有能力编辑flash文件本身,那么遗憾的是这无济于事。