这篇文章主要为大家介绍了使用useDark(),发现transition动画失效的示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
先上个示例
<template>
<div class="theme-change">
<button
class="switch"
@click="toggleTheme"
role="switch"
aria-label="切换暗色主题"
:class="{
k: isDark
}"
>
按钮
</button>
</div>
</template>
<script setup lang="ts">
const isDark = useDark();
function toggleTheme() {
isDark.value = isDark.value ? false : true;
}
</script>
<style scoped lang="scss">
.theme-change {
.switch {
transition: all 3s;
background: green;
}
}
.k.switch {
background: red;
}
</style>
上面这段代码在点击按钮时不会出现背景颜色的过渡效果
如果把代码改一下
// const isDark = useDark();
const isDark = ref(false);
过渡效果
这个时候才会有过渡效果。
useDark() 让 html 元素添加了 dark 类名,如果不用 useDark(),通过下列的方式
// const isDark = useDark();
const isDark = ref(false);
function toggleTheme() {
document.documentElement.classList.toggle('dark')
isDark.value = isDark.value ? false : true;
}
也是有过渡效果的。
对于为什么用 useDark() 会导致过渡效果失效,一直找不到原因,有知道的吗?
以上就是解析使用useDark(),发现transition 动画失效的详细内容,更多关于useDark() transition 动画失效的资料请关注编程学习网其它相关文章!
织梦狗教程
本文标题为:解析使用useDark(),发现transition 动画失效


基础教程推荐
猜你喜欢
- 纯javascript的ajax实现php异步提交表单的简单实例 2022-12-28
- Unicode中的常用字母小结 2022-09-21
- 原生ajax瀑布流demo分享(必看篇) 2023-02-01
- 在IE中为abbr标签加样式 2022-10-16
- AJax 把拿到的后台数据在页面中渲染的实例 2023-02-22
- ajax实现数据分页查询 2023-01-31
- 关于ajax异步访问数据的问题 2023-02-23
- JavaScript垃圾回收机制(引用计数,标记清除,性能优 2022-08-31
- 解决:layUI数据表格+简单查询 2022-12-16
- Ajax提交表单并接收json实例代码 2023-02-13