我剛開始搞亂jQuery,並且運氣讓它在實際的aspx和html文件中工作,但我現在試圖讓它在外部js文件中工作。讓jQuery在外部js文件中工作的問題
在頭我的html文件,我有:
<!--Declare jQuery files-->
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1-vsdoc.js"></script>
<!--Declare external java files-->
<script type="text/javascript" src="javascript/SiteFunction.js"></script>
我曾嘗試加入是爲了避免多文檔準備的情況下,它並沒有什麼影響無論哪種方式,其在不在家:
<script type="text/javascript">
$(document).ready(function() { });
</script>
在我的外部文件我有(它是一個if語句,我的功能只是字面上跳過所有的jQuery的.append和.animate的東西,如果它甚至不存在):
$(document).ready(function() {
$('<p>Test</p>').append("#" + newPage);
});
jQuery(function($) {
alert(newPage);
$('<p>Test</p>').appendTo(newPage);
$(newPage).animate({ left: '0px' }, 2000, function() {
// Animation complete.
alert("animated newPage");
});
$(currentPage).animate({ right: '0px' }, 2000, function() {
// Animation complete.
});
});
第一個jQuery append只是一個簡單的測試,看看我能否做簡單的事情。這全部包含在if語句中。我沒有收到任何錯誤,並且代碼是通過第一個jQuery準備好的,進入jQuery函數,我的alert(newPage)正在工作,但是我的alert(「animated newPage」)不是這樣,我知道我不是進入任何jQuery函數。
如果我的術語不正確,請原諒我,我剛剛在過去的3-4天裏開始使用Query。
我的變量,newPage和currentPage是包含在主html頁面中的div的id。我在同一個外部js文件中使用JavaScript訪問和操作它們很好。
我試着用第一個jQuery .append查看我是否需要在我的div id之前加上「#」來引用字符串。
我已經嘗試過將它們包裝在jQuery中(function($){});.將它們留在獨立的位置,直接從我的html文件中運行。
來自html文件的工作代碼示例。文件頭中的設置相同
$(myContent).animate({
width: '0px'
}, mySpeed, function() {
// Animation complete.
});
$('#contentH4').animate({
width: myLeft
}, mySpeed, function() {
// Animation complete.
});
所以,我完全失敗了!
您是否在Javascript調試器中看到任何錯誤?如果是這樣,什麼? – justkt 2011-04-04 17:02:07
你不需要同時包含ajax/jQuery/jquery-1.5.1.min.js和ajax/jQuery/jquery-1.5.1.js。添加兩者都會佔用加載時間。 – scrappedcola 2011-04-04 17:23:41