这篇文章主要为大家介绍了使用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 动画失效
基础教程推荐
猜你喜欢
- vue在install时node-sass@4.14.1 postinstall:node scripts/build.js错误解决 2023-07-09
- Ajax实现关键字联想和自动补全功能及遇到坑 2023-02-23
- html网页中使用希腊字母的方法 2022-09-21
- ajax异步加载图片实例分析 2022-12-18
- 使用HTML5中postMessage知识点解决Ajax中POST跨域问题 2022-10-17
- 【vue】三种获取input值的写法 2023-10-08
- JavaScript函数this指向问题详解 2023-08-12
- Ajax实现简单下拉选项效果【推荐】 2022-12-28
- JavaScript开发简单易懂的Svelte实现原理详解 2023-08-12
- AJAX实现数据的增删改查操作详解【java后台】 2023-02-23
