我想问一下,如何使用之前打开此元素的按钮隐藏一些元素?
此代码将更好地解释:
<a id="elem-toggle" href="#">filter</a>
<div id="filters">
<checkbox>
<checkbox>
<checkbox>
<checkbox>
</div>
// Javascript
$('#elem-toggle').on('click', app.toggleFilters);
toggleFilters: function () {
var filters = $('#filters');
filters.toggle(0, function () {
$(document).mouseup(function (e) {
var filters = $("#filters");
if (!filters.is(e.target) && filters.has(e.target).length === 0) {
filters.hide();
$('#elem-toggle').removeClass('active');
}
});
});
}
现在,这段代码的作用是:点击$ elem-toggle应显示/隐藏#filters。
但它只打开#filters,但不会隐藏它们。
当“点击外部”发生时,我已使用$(document).mouseup
隐藏过滤器。
所以基本上,我只想hide filters on #elem-toggle
因为这个功能不起作用,我不知道为什么。
感谢您的回复。
PS:请注意,我在代码中使用过toogle()函数。
答案 0 :(得分:0)
$('#elem-toggle').click(function(){
$('#filters').toggle('slow');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a id="elem-toggle" href="#">filter</a>
<div id="filters">
qweqweqweqweq
</div>
试试这种方式。
描述:显示或隐藏匹配的元素。
答案 1 :(得分:0)
因为你只是想显示或隐藏过滤器,为什么你不去寻找
$('#elem-toggle').on('click',function(){
$("#filters").toggle();});
这应该完全符合您的要求。