javascript - 为什么我的toggle()的两个选项都执行了?
问题描述
我制作了一个带有链接的按钮,<a>
我想用它来显示或不显示某些元素。对于这个目标,我认为.toggle()
是一个不错的选择。
$('#filter_btn').click(function() {
$('.filters_container').toggle(function() {
$(".filters_container").css({
display: "flex"
});
}, function() {
$(".filters_container").css({
display: "none"
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" id="filter_btn">Nodes</a>
但是使用此代码,当我按下按钮时,它会显示filters_container
,但它们会立即再次变得不可见。为什么要执行切换功能的两个部分?
非常感谢。
解决方案
$('#filter_btn').click(function() {
$(".filters_container").toggle();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" id="filter_btn">Nodes</a>
<span class="filters_container" style="display: none;">test</span>
简单的切换功能使用它。
推荐阅读
- hadoop - ORC 架构演变
- java - 代码会对 MySQL 可用连接产生影响吗?
- c# - 如何使 StackPanel 在 WPF 中填充他的容器和高度
- java - 如何为 PDFBox 设置字符编码
- apache - Apache 线程在查询后保持状态读取
- odoo - 如何在 res.users odoo 中更改自动填充组名称
- r - 让 R 将特殊字符视为文字
- docker - CMD 在 Dockerfile 中的 ENTRYPOINT 之后不运行
- javascript - 视频播放器 - video.js - (等到播放器准备好)不工作
- javascript - 我如何在 React 中选择特定组件