我有带有类别和子类别的侧边栏导航(单击父类别时显示/隐藏)。
使用:
https://www.w3schools.com/jquery/jquery_filters.asp
我的代码:
$('#filter input').on('keyup', function() {
var value = $(this).val().toLowerCase();
$('#category a').filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
过滤工作正常,现在我想做的是检查#category
是否关闭(默认情况下我正在应用类.hide
),类似:
if ( $('#category').css('display') == 'none' ){
$('#category').toggleClass('hide')
}
我可以使它工作(某种):
$('#filter input').on('keyup', function() {
var value = $(this).val().toLowerCase();
$('#category a').filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
if ( $('#category').css('display') == 'none' ){
$('#category').toggleClass('hide')
}
});
这显然使#category
按钮保持打开状态,如果所有字符都已从过滤器中删除,我该如何关闭主要类别?因此,当用户开始搜索时,如果主要类别已关闭,则在过滤时将其打开,如果在进行子选择之前清空了过滤器,则将其关闭。希望这是有道理的。