Swiffy输出透明背景

时间:2012-10-07 05:34:19

标签: ios cocoa-touch background google-swiffy

我只想找到一种在iOS应用中使用swiffy输出的HTML5动画的方法,但我不能放弃灰色背景。我认为这将是一种放弃动画并避免在视网膜iPad显示器上使用png的存储问题的方法。现在我不能让背景清晰。我该怎么办?

6 个答案:

答案 0 :(得分:3)

在Swiffy生成的代码中,查找backgroundColor并将其删除,包括其值。

答案 1 :(得分:0)

删除backgroundColor:元素对我来说不起作用,直到我发现Google已经破坏了在当前版本的Swiffy运行时中执行此操作的能力。如果你也改变了:

SRC = “https://www.gstatic.com/swiffy/v5.2/runtime.js”

SRC = “https://www.gstatic.com/swiffy/v5.1/runtime.js”

在文件的顶部,你会发现透明背景正常工作(当然,5.2库中的任何增强功能都不再可用)。

编辑:Michael Prescott指出,由于Swiffy转换器版本与运行时之间不匹配,此解决方案无法可靠运行。不依赖于5.1导出器存在的替代解决方案是建立在此处建议的其他解决方案上。尝试将以下函数添加到脚本中。它轮询以查看Swiffy对象何时安装了它的首选背景颜色,然后它将替换它。

(function() {
    var firstNode=document.getElementById('swiffycontainer').childNodes[1];
    //firstNode.style.visibility = "hidden";
    if (firstNode.style.background=="") {
        setTimeout(arguments.callee, 10);
    } else {
        firstNode.style.background = "none";
        //firstNode.style.visibility = "visible";
    }
})();

当Swiffy首次设置稳固背景然后被替换时,这似乎并没有出现故障。但是,为了更加确定,您可以启用注释掉的行来隐藏第一个节点,直到设置了正确的透明度。

最好的问候

答案 2 :(得分:0)

尝试定位具有纯色背景的元素并将其动态更改为透明,如下所示:

document.getElementById('swiffycontainer').childNodes[1].style.background = "rgba(255, 255, 255, 0)";

或者没有

document.getElementById('swiffycontainer').childNodes[1].style.background = "none";

答案 3 :(得分:0)

这对我来说都不起作用(使用版本5.2),通过设置新样式解决:

<script>
    var stage = new swiffy.Stage(document.getElementById('swiffycontainer'),swiffyobject);      
    stage.start();
</script>
<style> 
    div {background: url("../bgimg.jpg") repeat scroll 0 0 transparent !important;} 
</style>

答案 4 :(得分:0)

根据http://css-tricks.com/override-inline-styles-with-css/,你可以使用这个CSS hack

div[id=swiffycontainer] > div{
    background-color: transparent!important;
}

答案 5 :(得分:0)

将此添加到您的css或类似的东西。

#containerdivid svg > g > g > rect {
    display: none;
}
相关问题