0

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

ドアをかざすと、アニメーション化されるはずです... jsfiddleでは見事に機能しますが、このコードをWebサイトに配置すると、機能しなくなります。画像は引き続き表示されますが、画像にカーソルを合わせるとアニメーションは表示されません。js fiddleに、私が含めていない隠しコードがあるのではないかと思いますか?

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

2 に答える 2

1

完全に変更された回答

Webサイトで、ファイルに無効な文字が含まれてい/test/javascript/open_close.jsます。したがって、パーサーがそれらをチョークするため、そのファイル内の何も機能しません。

ファイルの終わりは次のとおりです。

});​

});

無効な文字に注意してください。

jsFiddleからコピーして貼り付けた場合は、おそらくそこから取得したものです。jsFiddleのエディターフィールドには、これらの奇妙な文字が含まれています。理由はわかりません。過去に何度か気づきました。


実際にウェブサイトを見る前の元の答え(リンクを見逃した)

コードをハンドラーに含めるようにjsFiddleが設定されているonloadため、すべてのDOM要素が存在する(および画像がダウンロードされるなど)と、ページの読み込みサイクルの非常に遅い段階で発生します。(これはjsFiddleのデフォルトです。理由はわかりませんが、あなたが最初にそれに違反したわけではありません。)自分のページにスクリプトがインラインで含まれている場合、特にscriptタグがその動作する要素の上にある場合、それが問題です。

于 2012-12-03T23:17:01.710 に答える
1

これが問題であるかどうかはわかりませんが、Firefoxのエラーコンソールでは、の末尾にガベージ文字があると報告されていますopen_close.js

于 2012-12-03T23:22:29.510 に答える