动画HTML5横幅在除Safari之外的所有内容中工作

时间:2016-04-15 09:43:41

标签: javascript safari jquery-animate adobe

我在Animate CC中创建了一个横幅,您可以在此处看到: http://www.dctuk.it/test/trustpilotbanner.html

它适用于所有浏览器。

但是当我将它放在我们的测试版网站(一个asp.NET网站)上时,除了Mac上的Safari之外,它可以在任何地方使用。它适用于Mac上的Firefox和Chrome,但不是Safari(或iPad),我无法解决原因。

您可以在靠近底部的网站上看到它:[已删除链接]

有谁知道为什么会这样?我认为它可能与Animate无关,只是一个javascript冲突但不确定?

干杯

乔恩

1 个答案:

答案 0 :(得分:0)

在网站中,您的init()函数会在底部附近被覆盖:

<script type="text/javascript">
    if ( $(window).width() < 480) {     
        $( init );
        function init() {

            // Move the paragraph from #myDiv1 to #myDiv2
            $('#coloursnew').append( $('#imageholder') );
        }
    }
    else {
        //Add your javascript for small screens here
    }
</script>  

在webkit中,即使它在if语句中并且替换了你的横幅初始化函数,也会对该函数进行求值:

function init() {
    // --- write your JS code here ---

    canvas = document.getElementById("canvas");
    images = images||{};

    var loader = new createjs.LoadQueue(false);
    loader.addEventListener("fileload", handleFileLoad);
    loader.addEventListener("complete", handleComplete);
    loader.loadManifest(lib.properties.manifest);
}

问题的一个解决方案是替换像这样的较小设备的代码:

if ( $(window).width() < 480) {     
    init = function() {
        // Move the paragraph from #myDiv1 to #myDiv2
        $('#coloursnew').append( $('#imageholder') );
    };
}

以下是问题JSFiddle的示例。在不同的浏览器中尝试查看结果。