2012-12-03 22 views
0

http://jsfiddle.net/reveries/9Dt7n/ http://www.reveriesrefined.com/test/代碼在JS小提琴而不是在Dreamweaver或服務器上的

當你掀掉了門,它應該動畫...在的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; 
    })() 
}); 
}); 

回答

1

徹底改變了答案

對你的網站,你在/test/javascript/open_close.js文件無效字符。因此,該文件中的任何內容都不會起作用,因爲解析器扼殺了它們。

文件的結尾是:

});​ 

}); 

注意無效字符。

如果您從jsFiddle複製並粘貼,那可能是他們來自哪裏。 jsFiddle的編輯字段中有這些奇怪的字符,我不知道爲什麼。過去我已經多次注意到它。


其實之前看網站的原創答案(被錯過的鏈接)

你的jsfiddle集中包括在onload處理你的代碼,所以它在頁面加載週期發生得很晚,一旦所有DOM元素都在那裏(並且圖像已經下載等)。 (這是jsFiddle的默認設置,我不能告訴你爲什麼,你不是第一個與它相違背的。)如果你自己的頁面只有內聯腳本,並且特別是如果script標籤高於其工作元素這就是問題所在。

+0

所以我應該包括: $(文件)。就緒(函數(){ 碼...等等... – user1868086

+1

@ user1868086:很多人做我個人認爲對於'準備的唯一有效的使用情況'''''''''如果你控制'script'元素的位置,只需將它放在頁面底部,就在關閉''標籤之前,然後就可以訪問上面定義的所有元素這就是[YUI人推薦](http://developer.yahoo.com/performance/rules.html)以及[Google Closure]背後的開發者(http://groups.google .com/group/closure-library-discuss/browse_thread/thread/1beecbb5d6afcb41) –

+1

@TJCrowder:我想你一定是看錯了,所有相關的'

1

我不確定這是否爲問題,但Firefox的錯誤控制檯報告您在open_close.js末尾有一些垃圾字符。

相關問題