jQuery:元素静止":隐藏的“;在.slideDown()之后
jQuery: Element still ":hidden" after .slideDown()
我有一个元素要使用CSS display: none;
开始隐藏,slideDown()
在按钮的click()
上可见,最后slideUp()
回到隐藏在同一按钮的click()
上。
看起来它应该很容易实现,但它不起作用,我发现这是因为即使在slideDown()
之后,element:hidden
属性似乎仍然是true
。
这是CSS:
#event-form {
height: 200px;
border: 1px dashed black;
margin-bottom: 10px;
display: none;
}
这是脚本:
$('#create-new').click(function() {
if ($('#event-form:hidden')) {
$('#event-form').slideDown();
}
else {
$('#event-form').slideUp();
}
});
有什么建议吗?谢谢
无论是否选择任何内容,条件if ($('#event-form:hidden')) { }
都将返回true。要检查元素是否隐藏,可以使用.is()
方法(返回布尔值):
此处示例
$('#event-form').is(':hidden')
或者检查jQuery对象的长度:
$('#event-form:hidden').length
您也可以使用.slideToggle()
方法:
$('#create-new').click(function() {
$('#event-form').slideToggle();
});
从CSS中删除display: none
并使用JavaScript:隐藏它
$("#event-form").hide();
将:hidden
改为:
if ($('#event-form').is(':hidden')) {
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 正在链接添加了以下内容::在之后
- JQuery hide()在show()之后不起作用,反之亦然
- 未执行Ajax循环的Javascript之后的代码
- 如何在`window.open`之后执行回调
- 如何在一个元素动画之后延迟
- 在XMLHttpRequest之后重新初始化jQuery
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 在jAlert之后设置焦点
- 在Javascript中的ajax响应之后未调用Dropdown事件
- web浏览器中的离线应用程序存储数据并在之后上传
- jQuery:元素静止":隐藏的“;在.slideDown()之后
- 在slidedown()之后设置元素的高度