我被我的下拉内容卡住了。试图旋转单击按钮标题旁边的箭头。第一个内容是默认打开的,这样arrow应该默认在那里转动。
>
当前代码默认情况下不转动内容1箭头,并且
点击旋转所有箭头,因为我不知道如何在js中正确引用当前图标。
任何建议都是非常欢迎的。
let dropdownModule = {
init: function(){
this.cacheDom();
this.bindEvents();
},
cacheDom: function(){
this.$el = $('.dropdown-container');
this.$dropdownBox = this.$el.find('.dropdown-box');
this.$dropdownContent = this.$el.find('.dropdown-content');
},
bindEvents:function(){
this.$dropdownBox.on('click', function(){
let currentContent = $(this).next('.dropdown-content');
currentContent.slideToggle(600);
$('.dropdown-content').not(currentContent).slideUp(600);
$('.fa-sort-down').toggleClass('r180');
})
}}
dropdownModule.init();
<div class="dropdown-container">
<div class="dropdown-box">Button Title 1<i class="fas fa-sort-down"></i>
</div>
<div style="display: block;" class="dropdown-content">
Content 1
</div>
</div>
<div class="dropdown-container">
<div class="dropdown-box">Button Title 2<i class="fas fa-sort-down"></i>
</div>
<div class="dropdown-content">
Content 2
</div>
</div>
.fa-sort-down {
transition: all 0.5s ease;
}
.r180 {
transform: rotate(180deg);
}
基本上,当您点击下拉列表时,可能是被点击的标记,您需要首先找到目标。
将您的js更改为:
let dropdownModule = {
init: function(){
this.cacheDom();
this.bindEvents();
},
cacheDom: function(){
this.$el = $('.dropdown-container');
this.$dropdownBox = this.$el.find('.dropdown-box');
this.$dropdownContent = this.$el.find('.dropdown-content');
},
bindEvents:function(){
this.$dropdownBox.on('click', function(e){
let target = $(e.target);
if(!$(e.target).hasClass("dropdown-box")){
target = $(e.target).parent();
}
let currentContent = target.next('.dropdown-content');
currentContent.slideToggle(600);
$('.dropdown-content').not(currentContent).slideUp(600);
target.find('.fa-sort-down').toggleClass('r180');
})
}}
dropdownModule.init();
我的xml文件:
描述 (Description) 您可以使用.dropdown类将下拉箭头添加到按钮。 它不会自动为您的按钮添加下拉功能。 要实现这一点,您必须附加Dropdown插件 。 例子 (Example) 以下示例演示如何向Foundation中的dropdown arrows to buttons添加dropdown arrows to buttons 。 <html> <head>
Chrome显然为引用的文本输入添加了一个下拉箭头。它出现在Chrome34(金丝雀)中,但不在当前的稳定构建(Chrome31)中。 它仅在文本字段聚焦(请参见更新)并应用于输入类型和时才显示。 就本机浏览器实现而言,情况可能更糟,但正如您在图中所见,它与我的设计规范相冲突。 箭头也出现在字段悬停时(不只是聚焦),不幸的是,当按钮本身悬停时,箭头也有自己的背景色:
见下图: 左边是我目前拥有的,右边是我试图实现的,或者至少在某个地方有一个向下箭头。关于如何创建这个背景有什么想法吗?
本文向大家介绍JavaScript实现带箭头标识的多级下拉菜单效果,包括了JavaScript实现带箭头标识的多级下拉菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现带箭头标识的多级下拉菜单效果。分享给大家供大家参考。具体如下: 这是一个支持多级显示的JS菜单,鼠标移向带有小三角的菜单项,可下拉出二级子菜单项,在该主菜单的上方会显示标记,指引当前的位置,本菜