代码在js小提琴中工作,但不在Dreamweaver或服务器上

时间:2012-12-03 23:13:29

标签: javascript jquery hover jsfiddle spritely

http://jsfiddle.net/reveries/9Dt7n/ http://www.reveriesrefined.com/test/

当你把它推到门外时,它应该是动画的......并且在jsfiddle中它的工作非常出色,但是一旦我将这些代码放在我的网站上,它就会停止工作。你仍会看到图像,但是当你将鼠标悬停在图像上时,就没有动画了。我想知道是否js小提琴有一些我不包括的隐藏代码?

jQuery(w / srpitely)

var iFrames = 23,
iFps = 24,
bRewind = false,
iStartFrame = -1,
bAnimating = false,
stopAndRewind = function(oAnim) {
    iStartFrame = ~iStartFrame ? -1 : iFrames - 2;
    bRewind = !bRewind;
    bAnimating = false;
    oAnim.spStop();
};
$("#door").on("mouseenter mouseleave", function() {
var iCurFrame = iStartFrame;
if ($._spritely.instances && $._spritely.instances[$(this).prop("id")])
{
    if (bAnimating)
    {
        iCurFrame = $(this).spGet("current_frame");
        stopAndRewind($(this));
    }
    $(this).destroy();
}
bAnimating = true;
$(this).sprite({
    fps: iFps,
    no_of_frames: iFrames,
    start_at_frame: iCurFrame,
    rewind: bRewind,
    on_frame: (function() {
        var o = {},
            i = 1;
        if (!bRewind)
        {
            i = iFrames - 2;
        }
        o[i] = stopAndRewind;
        return o;
    })()
});
});

2 个答案:

答案 0 :(得分:1)

完全更改的答案

在您的网站上,/test/javascript/open_close.js文件中包含无效字符。因此该文件中的任何内容都不起作用,因为解析器会阻塞它们。

文件的结尾是:

});​

});

注意无效字符。

如果您从jsFiddle复制并粘贴,那可能就是他们来自的地方。 jsFiddle的编辑器字段中有这些奇怪的字符,我不知道为什么。我过去曾多次注意到它。


在实际查看网站之前的原始答案(错过了链接)

你有jsFiddle设置将你的代码包含在onload处理程序中,所以它发生在页面加载周期的最后阶段,一旦所有的DOM元素都存在(并且图像已下载等)。 (这是jsFiddle的默认设置,我不能告诉你为什么,你不是第一个与它相悖的人。)如果你自己的页面有脚本内联,特别是如果script标签在上面与之合作的元素,就是问题。

答案 1 :(得分:1)

我不确定这是否是 问题,但Firefox的错误控制台报告您在open_close.js末尾有一些乱码。