我正在尝试创建一个与主机页面滚动的显示横幅,请参阅示例... 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。前缀,它们将可用。但是我无法纠正我的错误。
非常感谢有关此事的任何信息或帮助。
提前谢谢,亚当。