3

我正在使用 jquery mobile,其中不同的页面内容将位于一个 html 页面中。

在页面更改(滑动页面)时,其他页面具有相同的边缘动画,因为所有 html 内容将位于单个 html 页面中,只有第一个边缘动画会起作用,其余的将不起作用。

我有两个阶段 id

<div id="Stage" class="spring_animation"></div>

<div id="Stage2" class="spring_animation"></div>

下面的代码用于一个阶段(<div id="Stage")边缘动画工作......

<!--Adobe Edge Runtime-->
<script type="text/javascript" charset="utf-8" src="spring_edgePreload.js"></script>
<!--Adobe Edge Runtime End-->

<script type="text/javascript">
 jQuery(document).ready(function(){        
     jQuery('[data-url="10.htm"]').live('pageshow', function(){

        if($ && $.Edge && $.Edge.symbol.get($("#Stage"))){
            $('#Stage, #Stage > div').show();
            $.Edge.symbol.get($("#Stage")).play(0); 
        }

    });   
 });       
</script>

但是,它不起作用。

社区中的任何人都可以帮我解决这个问题吗?

我认为,问题在于adobe edge animate及其API

4

2 回答 2

1

我按照本教程进行了操作,并且可以正常工作。 http://blogs.adobe.com/edge/2012/05/15/bootstrapping-edge-compositions/

它使用纯 javascript 来显示/隐藏正确的组合。所有的魔法都是因为回调: Adob​​eEdge.bootstrapCallback(function (compId) { //当合成准备好播放时,你的函数将被调用 });

如评论中所述,当组合准备好时,将调用此回调。我做了一个工作示例,可以更改按钮单击时的组合。

于 2013-03-23T14:12:24.470 回答
0

您是否尝试将其应用于当前的两个 id:

<script type="text/javascript">
    $(document).ready(function(){
    jQuery('[data-url="10.htm"]').live('pageshow', function(){

        if($ && $.Edge && $.Edge.symbol.get($("Stage"))){
            $('#Stage, #Stage > div').show();
            $.Edge.symbol.get($("#Stage")).play(0);

        }
    });

    jQuery('[data-url="11.htm"]').live('pageshow', function(){

        if($ && $.Edge && $.Edge.symbol.get($("Stage2"))){
            $('#Stage2, #Stage2 > div').show();
            $.Edge.symbol.get($("#Stage2")).play(0);

        }
    });
});

</script>
于 2013-01-25T06:27:00.190 回答