我刚开始搞乱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