我在这里失去理智......
我想在同一页面淡入和淡出div。我不知道JQuery所以我开始搜索我想要的东西。
我找到了this。它完全符合我的要求(在小提琴中)。
所以我开始复制和填充但是我不会工作
这就是我做的......
在我的<head>
中,我添加了JQuery和CSS样式
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
$('#btn').click(function(e){
$('#fancy, #btn').fadeOut('slow', function(){
$('#bank, #btn-bk').fadeIn('slow');
});
});
$('#btn-bk').click(function(e){
$('#bank, #btn-bk').fadeOut('slow', function(){
$('#fancy, #btn').fadeIn('slow');
});
});
</script>
<style>
#bank {display:none;}
#btn-bk {display:none;}
</style>
在身体中我放置了HTML
<div><a href="#" id="btn">Show bank div and hide fancy div</a></div>
<div id="btn-bk"><a href="#">back</a></div>
<div id="bank">Bank Div</div>
<div id="fancy">Fancy Div</div>
它什么都不做。我不明白我做错了什么!
微米。
答案 0 :(得分:3)
将您的JS代码包装在 document.ready 语句中:
$(function () {
$('#btn').click(function(e){
$('#fancy, #btn').fadeOut('slow', function(){
$('#bank, #btn-bk').fadeIn('slow');
});
});
$('#btn-bk').click(function(e){
$('#bank, #btn-bk').fadeOut('slow', function(){
$('#fancy, #btn').fadeIn('slow');
});
});
});
它实际上会做什么,是否会等待文档对象模型(DOM)为Javascript执行做好准备。
您可以使用 $(窗口).load({}),但在这种情况下,您的整个页面(包括图片和iframe)将完全下载,并且只能 THEN 您的Javascript将运行(Source)
在简单的页面上没问题,但在更复杂的情况下,它会让你头疼。
答案 1 :(得分:2)
一个区别是他们的方法是在jquery onload方法中定义的。当JQuery尝试绑定到元素时,它们实际上还没有!尝试像这样包装你的Javascript ......
$(window).load(function(){
$('#btn').click(function(e){
$('#fancy, #btn').fadeOut('slow', function(){
$('#bank, #btn-bk').fadeIn('slow');
});
});
$('#btn-bk').click(function(e){
$('#bank, #btn-bk').fadeOut('slow', function(){
$('#fancy, #btn').fadeIn('slow');
});
});
});
答案 2 :(得分:1)
它没有任何效果,因为您将代码置于头部,并且您没有等待页面加载,并且在执行时,选择器(例如$('#btn')
)返回空对象。之一:
</body>
下方。$()
)。