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/