阅读吧
发布时间 2023-06-05 15:57:33作者: GTK
习题链接
阅读吧
任务
修改阅读的主题,根据主题颜色不一样,也要修改字体的颜色
要修改字体大小,并设置字体上下限
分类 :Vue
关键点
- v-指令的使用
- @click点击事件,进行切换阅读主题,控制字体的大小
- v-bind绑定属性,修改class 用法 => :class="{'iconfont icon-selected': idx == 0 }"
- 使用v-if或v-show进行显示隐藏,这两则的区别是v-if渲染或不渲染节点,v-show是控制的display的值进行显示隐藏
- 设置ref
- 操作dom使用ref即可直接获取
- 给span标签设置ref,便于获取到数值大小18
- 使用该语句可直接获取到该标签this.$refs.readContent
代码实现 && 完整的代码
- data中的数据
data: {
bgList: ["#f6edd4", "#ebf4ea", "#e9f2f5", "#F6E8E4", "#000000"], // 阅读主题色列表(与设置主题的圆形色块一一对应)
isShow:true,
idx:0
}
- 完成主题切换
- html部分
<a @click="changeStyle(0)" :class="{'iconfont icon-selected': idx == 0 }" style="background-color: #f6edd4"></a>
<a @click="changeStyle(1)" :class="{'iconfont icon-selected': idx == 1 }" style="background-color: #ebf4ea"></a>
<a @click="changeStyle(2)" :class="{'iconfont icon-selected': idx == 2 }" style="background-color: #e9f2f5"></a>
<a @click="changeStyle(3)" :class="{'iconfont icon-selected': idx == 3 }" style="background-color: #f6e8e4"></a>
<a @click="changeStyle(4)" :class="{'iconfont icon-selected': idx == 4 }" style="background-color: #000000"></a>
- js部分
changeStyle(index){
this.idx = index;
with(this.$refs.readContent.style){
backgroundColor = this.bgList[index];
color = index == 4 ? "#ffffff" : "#333333";
}
}
- 完成字体大小变化
html部分<div class="bar">
<a @click="changeStyle(true)" :class="{'grid-icon':true, active:isActive}"></a>
<a @click="changeStyle(false)" :class="{'list-icon':true, active:!isActive}"></a>
</div>
js部分changeStyle(data){
this.isActive = data;
}
- 按钮点击显示切换主题的导航栏
<!-- 设置按钮图标 -->
<a class="iconfont icon-setting" @click="isShow = true"></a>