如果您在页面加载完成后尝试做某事,您将需要 $(document).ready() 。
http://api.jquery.com/ready/
您使用 ready() 而不是 load() 的原因是, load() 在解析 html 时发生,但在文档对象模型 (DOM) 准备好之前发生,这是 JS 操作页面 (DOM) 所依赖的内容。因此,当您想要调整浏览器呈现的内容时附加到 ready(),例如操作实际内容(添加/删除/操作元素/类/结构,初始化灯箱和其他插件,执行效果等...) .
所以,我认为你所描述的是:
$(document).ready(function(){
$('a.clickaffected').each(function(){
$(this).fadeIn();
});
});
编辑:你想做一个回调函数:
$(document).ready(function(){
// load home.html page when the page loads
$("#main_content_inner").load("onmouseclick.html");
$("#latest").click(function(){ // load page1 on click
$("#main_content_inner").hide();
$("#main_content_inner").load("testscript.html", function(){
$(this).fadeIn(5000);
});
});
});
从你的回答中:
$(document).ready(function(){
// load home page when the page loads
$("#main_content_inner").load("home.html");
$("#page1").click(function(){
// load page1 in main_content_inner on click
$("#main_content_inner").hide();
$("#main_content_inner").load("page1.html", function(){
$(this).fadeIn(5000);
});
});
$("#page2").click(function(){
// load page2 in main_content_inner on click
$("#main_content_inner").hide();
$("#main_content_inner").load("page2.html", function(){
$(this).fadeIn(5000);
});
});
$("#page3").click(function(){
// load page3 in main_content_inner on click
$("#content").hide();
$("#content").load("page3.html", function(){
$(this).fadeIn(5000);
});
});
});
请注意,您可以像 lolwut 演示的那样链接函数调用,但我不确定您是否可以在不等待加载执行动画的情况下做到这一点。因此,如果页面加载缓慢,我不确定是否$('#id').hide().load().fadeIn()
会起作用,但$('#id').hide().load(url,[callback w/fadeIn()])
确实会在 fadeIn() 触发之前等待页面完全加载。
编辑2:
由于原始发帖人陈述的使代码正常工作的问题,我创建了一个包含在下面的 html 文件,并为每个文件创建了 page#.html。下面发布的 html 页面在我使用 jquery 1.4.4 进行测试时有效。
<html>
<head>
<style type="text/css">
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// load home page when the page loads
$("#main_content_inner").load("home.html");
$("#page1").click(function(){
// load page1 in main_content_inner on click
$("#main_content_inner").hide();
$("#main_content_inner").load("page1.html", function(){
$(this).fadeIn(5000);
});
});
$("#page2").click(function(){
// load page2 in main_content_inner on click
$("#main_content_inner").hide();
$("#main_content_inner").load("page2.html", function(){
$(this).fadeIn(5000);
});
});
$("#page3").click(function(){
// load page3 in main_content_inner on click
$("#content").hide();
$("#content").load("page3.html", function(){
$(this).fadeIn(5000);
});
});
});
</script>
</head>
<body>
<span id="page1">Page 1</span>
<span id="page2">Page 2</span>
<span id="page3">Page 3</span>
<h4>Main Content Inner</h4>
<div id="main_content_inner"></div>
<h4>Content</h4>
<div id="content"></div>
</body>
</html>