vue3 JavaScript实现微信和qq消息提醒闪烁效果

需求分析

在这里插入图片描述

最终效果如上图。
最开始想到使用css3动画,改变opacity来实现,这种方式最简单,实际做出来是呼吸灯效果,不是很好。
后来想到还是用js实现比较合适,改变隐藏和显示状态

代码

<template>
<div class="alarm-info">
  <div>|</div>
  <img src="@/assets/imgs/home/alarm.png" alt="" style="cursor: pointer" @click="popclick" />
  <!--这里是需要闪烁的元素-->
  <div class="alarm-number" :style="{ visibility: visibleStatus }">{{ state.alarmNumber }}</div>
  <!--end-->
  <div class="trigger-mask" @click="popclick"></div>
</div>
</template>
<script setup lang="ts">
import { onMounted, ref, onUnmounted } from "vue";
// 右上角红色告警闪烁效果
const visibleStatus = ref<"visible" | "hidden">("visible");
const blinkTimer = ref();
// 关闭闪烁
const stopBlink = () => {
  blinkTimer.value && clearInterval(blinkTimer.value);
};
//闪烁函数
const startBlink = () => {
  stopBlink();
  blinkTimer.value = window.setInterval(() => {
    if (visibleStatus.value == "visible") {
      visibleStatus.value = "hidden";
    } else {
      visibleStatus.value = "visible";
    }
  }, 500);
};
//获取告警数量请求
const getPopAlarmNumberData=()=>{
  //axios请求
  //……
  //如果数量大于0,就触发闪烁
  startBlink();
}
onMounted(() => {
  getPopAlarmNumberData();
});
//卸载页面记得清除定时器
onUnmounted(() => {
  blinkTimer.value && clearInterval(blinkTimer.value);
  blinkTimer.value = null;
});
</script>

注意

需要注意,闪烁的元素很可能没办法触发点击事件,这里解决办法,是上面定位一个透明元素,点击元素实现点击效果

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3 中,要跳转到企业微信客服会话页面,你可以使用以下步骤: 1. 首先,确保你已经在 Vue 3 项目中引入了企业微信JavaScript SDK,可以通过在 `index.html` 文件中引入企业微信的 SDK 脚本来实现: ```html <script src="https://qydev.weixin.qq.com/sdk/js/agent/agent.js"></script> ``` 2. 在你需要跳转的组件中,创建一个方法来处理跳转逻辑。你可以在方法中使用企业微信的 `openEnterpriseChat` 方法来打开客服会话页面。 ```javascript methods: { openEnterpriseChat() { wx.openEnterpriseChat({ userIds: ['user1', 'user2'], // 客服的企业微信账号列表 groupName: 'group', // 客服会话的群聊名称 onSuccess: function (result) { // 成功打开客服会话页面的回调 console.log('成功打开客服会话页面'); }, onFail: function (err) { // 打开客服会话页面失败的回调 console.error('打开客服会话页面失败', err); } }); } } ``` 3. 在模板中添加一个按钮或其他触发事件的元素,并绑定上面创建的方法: ```html <button @click="openEnterpriseChat">打开客服会话</button> ``` 当用户点击这个按钮时,将会触发 `openEnterpriseChat` 方法,打开企业微信的客服会话页面。 请注意,以上代码中的 `userIds` 是客服的企业微信账号列表,你需要根据实际情况进行替换。另外,为了确保 SDK 能够正常加载,请确保你的项目能够访问到企业微信的 SDK 脚本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值