JavaScript 05 — Flex Panels

实现效果

点击任意一张图片,图片放大,随后图片上下两方飞入文字,再次点击已经展开的图片后,图片和文字恢复初始状态。

js实现步骤
1 先给图片实现拉伸(即点击放大)效果
给图片添加点击事件 写触发事件调用的函数 使触发后的图片实现放大效果

2 随后再实现文字飞入/飞出的效果
给图片添加transitionend事件 写触发事件调用的函数 使触发后的图片实现文字的飞入/飞出效果

const panels = document.querySelectorAll('.panel')

function toggleOpen(e){
  // console.log(this);
  // console.log(this.classList);
  this.classList.toggle('open')
}

function toggleActive(e){
  console.log(e.propertyName);
  if(e.propertyName.includes('flex')){
    this.classList.toggle('open-active')
  }
}

panels.forEach(panel => panel.addEventListener('click', toggleOpen))
panels.forEach(panel => panel.addEventListener('transitionend', toggleActive))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值