2013-05-13 2 views
2

У меня проблема с анимацией html5 edge. Я создал анимацию с использованием огибающей края. Я хотел бы называть композицию готовой кромкой одинарного снаружи. Я попытался позвонить, используя $.Edge.registerCompositionReadyHandler(compId, handlerFn, options), но он дал ошибку ReferenceError: $ is not defined. Я не могу это решить, и я не нашел достаточной документации об этом. Кто-нибудь может мне помочь, пожалуйста.Композиция вызова готова (огибать края) от javascript

мой код выглядит следующим образом

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/> 
<title>Untitled</title> 
<!--Adobe Edge Runtime--> 

<script type="text/javascript" charset="utf-8" src="teste1_edgePreload.js"></script> 
<script type="text/javascript" src="teste1_resize.js"></script> 
<style> 
    .edgeLoad-EDGE-1429726 { visibility:hidden; } 
</style> 
<!--Adobe Edge Runtime End--> 

<script> 
    $.Edge.registerCompositionReadyHandler("EDGE-1429726",scaleStage) //SCALE STAGE IS INSIDE THE JAVASCRIPT fn teste1_resize.js 
function mover(){ 
     var stage = $.Edge.getComposition("EDGE-1429726").getStage(); 
     console.log($("#Stage").height()); 
     stage.mover(); 
} 
</script> 

</head> 
<body style="margin:0;padding:0;"> 
<div id="Stage" class="EDGE-1429726"> 
    <input type="button" value="Mover" onClick="mover();"> 
</div> 

</body> 

Заранее спасибо

ответ

6

С помощью Ены и небольшой модификацией я смог найти ответ.

AdobeEdge.bootstrapCallback(function(compId) { 
    AdobeEdge.Symbol.bindElementAction(compId, 'stage', 'document', 'compositionReady', function(sym, e){ 
     // composition is loaded, do stuff here 
    }); 
}); 
3

Вместо

$.Edge.registerCompositionReadyHandler 

использование

AdobeEdge.registerCompositionReadyHandler 

Кроме того, поместите код внутри этой функции:

AdobeEdge.bootstrapCallback(function(compId) { 
    // Register your handlers here 
}); 

Таким образом, вы уверены, что сцена загружена, и вы можете зарегистрировать обработчик в нем.

+0

Эй, я уже попробовал эти несколько дней назад, но он не работает :( –

+0

Теперь я использовать тайм-аут яваскрипта к сожалению :( –

+0

Попробуйте инвертировать порядок загрузки скриптов: <тип скрипта =» текст/JavaScript»SRC = "teste1_resize.js"> <тип скрипта = "текст/JavaScript" кодировка = "UTF-8" SRC = "teste1_edgePreload.js"> Затем внутри Adobe Edge, Animate, в в окне кода добавьте событие Stage> compositionReady. В кодовом вызове ваша функция: scaleStage(); – Ena