2015-01-10 40 views
1

我初始化了所有的CSS內聯,此時內聯jQuery沒有問題地完美工作,目前的目的只是淡入整個頁面。當我將CSS和JavaScript移動到外部文件時,我的jQuery退出了工作。我嘗試調整jQuery的代碼,我的javascript檢測器函數和我的樣式表,並且即使當我切換回內聯時也無法再次使用它。我也嘗試過使用開發人員工具,但坦率地說,我認爲我不夠熟練地使用它們。內聯CSS移動後jQuery無法工作

JS小提琴:http://jsfiddle.net/bzkgekut/

<html class="no-js"> 
<head> 
<script>document.documentElement.className = document.documentElement.className.replace('no-js','js');</script> 
<link href="stylesheet.css" rel='stylesheet' type='text/css'> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
</head> 
<body>content</body> 
<script src="fadeIn.js"></script> 
</html> 

//fadeIn.js contents, before the code broke I didn't use anything except line 2 with no issue. 
document.ready(function(){ 
$('body').fadeIn(2000); 
}); 
+0

嘗試使用'$(function(){...});'而不是'document。 ready'。 – JCOC611

+0

可以請您在http://jsfiddle.net/#run – Lal

+0

重現問題使用函數而不是document.ready不起作用。 @Lal我無法讓它在jsfiddle上工作。我覺得身體沒有正確設置爲隱形以允許fadeIn發揮作用,但我不知道爲什麼將我的CSS移動到非內聯會影響到這一點。它是直接複製和粘貼。 –

回答

0

你不應該在你的選擇中指定body,你應該創建一個帶有id一個div,並確保你選擇的是在你的JQuery id。 請確保您爲id的CSS指定display: none;屬性,因爲您的div需要通過淡入來顯示。

+0

這對我來說並不明顯,因爲它在將所有內容從內聯移動到外部之前都有效。這個解決方案很有用,謝謝你花時間回答,我真的很感激。你介意給我解釋爲什麼div規範是必要的嗎? –

+0

div規格並非絕對「必要」。但這是一個好習慣,因爲您可以系統地組織和組織您想要淡入的網頁部分。您可以使用「body」作爲選擇器,但實際上更好的做法是使用id創建div。您也可以選擇元素,ID和類。當我說你「不能」指定身體時,我可能一直不清楚。你「可以」,但最好使用div規格。謝謝! –