因为您使用的是jQuery,所以我编写了其中的函数。
第一个功能单击打开和关闭下拉菜单
.dropbtn
使用
slideToggle()
对于下拉列表和
toggleClass()
对于图标(请注意,它切换两个类)。
$('.dropbtn').on('click', function() {
$('#myDropdown').slideToggle();
$(this).find('i').toggleClass('fa-sort-up fa-sort-down')
});
然后,当我们在这些元素外部单击时,您希望关闭下拉列表。
因此,我编写了这个函数。它通过使用关闭下拉列表
slideUp
并删除和添加图标的类。
$(document).mouseup(function(e) {
var container = $("#myDropdown, .dropbtn");
if (!container.is(e.target)
&& container.has(e.target).length === 0
&& $("#myDropdown").is(':visible') ) {
$("#myDropdown").slideUp();
$('.dropbtn i').addClass('fa-sort-up').removeClass('fa-sort-down')
}
});
Updated CODEPEN