事件处理程序中的Javascript错误!事件类型=元素

时间:2015-06-02 14:19:23

标签: javascript javascript-events event-handling adobe-edge

我正在尝试创建一个与主机页面滚动的显示横幅,请参阅示例... 3. Cut Out MPU

我已经使用Edge Animate构建,并使用javascript来编写功能(或者至少尝试过),横幅为300x250像素,图像大约为700px,此图像从顶部(0px)到底部(700px)动画在时间轴上超过4秒。

我正在使用的Javascript已经找到并且已经上传here

金额用户可以滚动= 100%/动画长度= 100%
金额用户已滚动= 10%/时间轴位置= 10%

这一切都应该正常工作,但是当我在浏览器(Chrome)中预览边缘动画合成时,控制台日志会显示...

Javascript error in event handler! Event Type = element

当我将这个组合添加到带有一些小型内容的测试网页时,我滚动时会出现与上述相同的错误以及此错误...

    Uncaught TypeError: undefined is not a function
getScrollPerc
window.onscroll

Javascript正在触发,因为我滚动时错误计数计数,但我无法弄清楚我的代码中是如何出错的。我的Edge代码低于......

(function($, Edge, compId){
var Composition = Edge.Composition, Symbol = Edge.Symbol; // aliases for commonly used Edge classes

   //Edge symbol: 'stage'
   (function(symbolName) {




      Symbol.bindElementAction(compId, symbolName, "document", "compositionReady", function(sym, e) {

         // insert code to be run when the composition is fully loaded here
         var animSize = getDuration();
         window.onscroll = function(e) {
           var perc = getScrollPerc();
           var animPos = (perc/100) * animSize;
           sym.stop(animPos);
         }

         function getScrollPerc() {
           var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height();
           return (wintop/(docheight-winheight))*100;
         }

         if(getScrollPerc() > 0) {
           console.log('do initial move');
           var perc = getScrollPerc();
           var animPos = (perc/100) * animSize;
           setTimeout(function() { sym.stop(animPos);}, 0);
         }

      });
      //Edge binding end

   })("stage");
   //Edge symbol end:'stage'

})(window.jQuery || AdobeEdge.$, AdobeEdge, "EDGE-4414348");

我尝试过在Adobe论坛上发现的修复程序(链接代码不够),该修补程序声明这些函数仅在compositionReady中可用,因为它是本地函数,并且通过添加sym。前缀,它们将可用。但是我无法纠正我的错误。

非常感谢有关此事的任何信息或帮助。

提前谢谢,亚当。

0 个答案:

没有答案