javascript - 使用嵌套的div上下滑动

标签 javascript jquery

我已经写了代码,但是它们不起作用,请帮助我! 我有一个 div 嵌套了另外两个 div。第一个 div 有 h2 标签,应该点击它以显示第二个 div 的内容,然后再次点击隐藏内容。 这里有我的代码,请调试它并帮助我继续前进。

	$(document).ready(function() {
	    $("#toggle").click(function(){
	
	        if ($(this).is(":visible")){
	            $(".item-body").slidDown("normal");
	        } else {
	            $(".item-body").slideUp("normal");
	        }
	    });
	});
	
.my-item{
	width:250px;
	heigth:180px;
	margin:10px;
	padding:20px;
	background:green;
	border:2px solid black;
}
.item-header{
	width:150px;
	heigth:120px;
	margin:5px;
	padding:10px;
	background:yellow;
	border:1px solid black;
}
.item-body{
	width:70px;
	heigth:50px;
	margin:3px;
	padding:5px;
	background:purple;
	border:1px solid black;
}
	
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset = "UTF-8">
    <title>Simple Demo</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    </head>
    <body>
	<div class="my-item">
	<div class="item-header">
	<h2 id="toggle">Click Me!</h2>
	<div class="item-body">My Text!
	</div>
	</div>
	</div>
	</body>
    </html> 

最佳答案

尝试将您的第一个 if 语句设置为以下内容:

if ($(".item-body").is(":visible")) {

这将解决问题,而不是检查 h1 是否可见(它始终可见)。

其他注意事项

  • 您的 slideDown() 有一个拼写错误,缺少一个“e”。
  • 您应该切换 slideUp()slideDown() 以便它在可见时 slideUp() 并且 slideDown()如果不是——请看我下面的例子。

参见 this working JSFiddle .

关于javascript - 使用嵌套的div上下滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602619/

相关文章:

javascript - 为文本提供背景颜色以匹配每行文本的宽度

javascript - Vuejs : Character Counter

javascript - 在 cytoscape.js 中使用网格布局时复合节点重叠

javascript - 操作 ES6 JavaScript 模块内的 DOM

javascript - 在父 div 中居中旋转的段落

javascript - 加载其他 URL 时防止 GIF 动画停止

javascript - d3.select...相当于 jQuery.children()

javascript - 按钮 onclick 显示 href 链接

javascript - 在 Javascript 中通过 GET 获取 div id

jquery - 垂直滚动与 jquery