前端实现鼠标点击箭头旋转180度

效果:

 

 <div @click="showChecklist" class="checkCLass cur pr-20px pl-20px pa flex ai-center">
     <span>{{ checkListStatus() }}</span>
     <p class="trangle"></p>
 </div>

下面是三角形状的样式 

  .trangle {
    width: 0;
    transition: all 0.2s ease-in;
    height: 0;
    border-bottom: 0 solid transparent;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 6px solid #fff;
  }
  .rotateBottom {
    transform: rotate(-180deg);
  }

点击,三角按钮旋转180度

const showChecklist = () => {
  const dom = document.querySelector(".trangle");
  if (!isShowChecklist.value) {
    dom?.classList.add("rotateBottom");
  } else {
    dom?.classList.remove("rotateBottom");
  }
  isShowChecklist.value = !isShowChecklist.value;
};
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
手风琴下拉通常是通过CSS的伪类和过渡动画来实现的,箭头旋转可以通过CSS的transform属性来实现。下面是一个简单的示例代码,可以供您参考: HTML代码: ``` <div class="accordion"> <div class="accordion-header"> <h3>标题1</h3> <i class="arrow"></i> </div> <div class="accordion-body"> <p>内容1</p> </div> <div class="accordion-header"> <h3>标题2</h3> <i class="arrow"></i> </div> <div class="accordion-body"> <p>内容2</p> </div> <div class="accordion-header"> <h3>标题3</h3> <<i class="arrow"></i> </div> <div class="accordion-body"> <p>内容3</p> </div> </div> ``` CSS代码: ``` .accordion { border: 1px solid #ddd; } .accordion-header { display: flex; align-items: center; justify-content: space-between; padding: 10px; cursor: pointer; background-color: #f7f7f7; } .accordion-header:hover { background-color: #e5e5e5; } .accordion-header h3 { margin: 0; } .accordion-body { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; } .accordion-body p { margin: 0; padding: 10px; } .arrow { width: 0; height: 0; border-style: solid; border-width: 5px 5px 0 5px; border-color: #999 transparent transparent transparent; transition: transform 0.3s ease-out; } .arrow.active { transform: rotate(180deg); } ``` JavaScript代码: ``` const headers = document.querySelectorAll('.accordion-header'); headers.forEach(header => { header.addEventListener('click', () => { header.classList.toggle('active'); const body = header.nextElementSibling; if (header.classList.contains('active')) { body.style.maxHeight = body.scrollHeight + 'px'; } else { body.style.maxHeight = 0; } }); }); ``` 这段代码实现了一个手风琴下拉菜单,并且点标题时箭头旋转。您可以根据需要进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suoh's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值