javascript - 代码可以在 js fiddle 中运行,但不能在 Dreamweaver 或服务器上运行

标签 javascript jquery hover jsfiddle spritely

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

当你把鼠标悬停在门上时,它应该会动画......并且在 jsfiddle 中它工作得非常出色,但是一旦我将此代码放到我的网站上,它就停止工作了。您仍然会看到该图像,但将鼠标悬停在其上方时,没有动画。我想知道 js fiddle 是否有一些我没有包含的隐藏代码??

jQuery(带 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;
    })()
});
});

最佳答案

完全更改答案:

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

文件结尾为:

});​

});

注意无效字符。

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

<小时/>

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

您将 jsFiddle 设置为将代码包含在 onload 处理程序中,因此它会在页面加载周期的后期发生,一旦所有 DOM 元素都存在(并且图像已下载等) 。 (这是 jsFiddle 的默认设置,我无法告诉你为什么,你不是第一个遇到它的人。)如果你自己的页面有内联脚本,特别是如果 script标签位于其使用的元素之上,这就是问题所在。

关于javascript - 代码可以在 js fiddle 中运行,但不能在 Dreamweaver 或服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13693494/

相关文章:

javascript - Opa流控、线程?

javascript - Sweet Alert 2 提交前确认

javascript - 通过 JavaScript 类调用 javaScript 函数

jquery - 每个 child 都做同样的事情,但有时间间隔

javascript - 触发一个 :hover event by hovering on an other

Firefox 中的 CSS 工具提示悬停位置问题

javascript - 将 header 数据存储在 url 中

javascript - Jquery克隆克隆相同而不是新名称

javascript - FF 和 IE 上的 javascript 中未定义 php 变量

javascript - 动态添加的 javascript 不起作用,但静态代码可以正常工作?