javascript - 如何使单击一次超链接时出现 div 并在第二次单击超链接时消失?这可以重复吗?

标签 javascript jquery html css hyperlink

我正在寻找一种方法,让用户单击超链接后出现一个 div,然后当用户再次单击它时让相同的 div 消失。目前,用户只能在按下超链接时让 div 出现,但是当您再次单击超链接时,div 仍然在它的“显示: block ”中;状态。这就是我的意思:

HTML

<a onclick="showDiv()" id="ShowAboutButton">What's This?</a>

<div id="About">

</div>

CSS

#ShowAboutButton {

    text-align: center;

    margin-top: 40px;

    background-color: white;

    border: none;

    cursor: pointer;

    font-family: "Lato Light";

    font-size: 22px;

}

#About {

    width: 900px;

    height: 600px;

    margin-left: auto;

    margin-right: auto;

    margin-top: 10px;

    background-color: gray;

    display: none;

    transition: height 2s;

}

Javascript

function showDiv() {

document.getElementById('About').style.display = "block";

}    

如果可能的话,有人可以告诉我如何让用户能够单击超链接并让 div 滑入并带有过渡效果,然后再次单击超链接时将其滑回有过渡效果?任何帮助将非常感激!提前致谢!

最佳答案

您可以使用 jquery slideToggle 轻松完成此操作:

$("#ShowAboutButton").click(function(){

    $("#About").slideToggle();

});

JSFIDDLE

关于javascript - 如何使单击一次超链接时出现 div 并在第二次单击超链接时消失?这可以重复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21198820/

相关文章:

javascript - 如何根据 jquery 中的过滤器禁用和启用列表项?

javascript - 如何显示特定类的div

javascript - 在由字符串构成的 DOM 上调用 jQuery.remove()

javascript - AngularJS 指令可以访问 Controller 实例吗?

javascript - jQuery 中字符串内的字符串数组

html - 同一行中的两个 div,其中一个 div 中的文本根据第二个 div 的宽度被剪裁

html - 将普通复选框更改为自定义复选框并使它们充当单选按钮

javascript - Node.js:删除 Socket.IO 中的用户

javascript - 我一直不得不根据我是在本地主机上开发还是推送到服务器来更改 window.location.href

javascript - HTML多个事件触发同一个功能