vue-动态高亮效果

个人练习,仅供参考

实现如下效果:点击某块,某块变成其他颜色。

具体实现代码:

上边:

html 复制代码
<template>
  <div>
    <h3 style="color: #f69">动态高亮效果</h3>
    <hr>
<!-- 对象 -->
    <div class="navarr">
      <div
        v-bind:class="{ active: current == n }"
        v-for="n in navarr"
        :key="n"
        @click="current = n"
      >
        {{ n }}
      </div>
    </div>
<!-- 数组 -->
    <div class="navarr1">
      <div
        v-bind:class="[current1==n1?'active':'']"
        v-for="n1 in navarr1"
        :key="n1"
        @click="current1 = n1"
      >
        {{ n1 }}
      </div>
    </div>
    <br>
    <hr>
  </div>
</template>
<script>
export default {
  data() {
    return {
      navarr: ["首页", "推荐", "分类", "我的"],
      current: "首页",
      navarr1: ["首页", "推荐", "分类", "我的"],
      current1: "首页",
    };
  },
  methods: {},
  created: {},
};
</script>
<style scoped>
.navarr ,.navarr1{
  display: flex;
  justify-content: space-around;
  margin-top: 8px;
}
.active {
  color: #f69;
}
</style>

下边:

html 复制代码
<template>
  <div id="app">
    <router-view />
    <footer class="footer">
      <router-link to="/">
        <img src="/favicon.ico" alt="" />
        <p :class="{ active: current == '/' }" @click="current = '/'">首页</p>
      </router-link>
      <router-link to="/sell">
        <img src="/favicon.ico" alt="" />
       <p :class="{ active: current == '/sell' }" @click="current = '/sell'"> v-if&v-model</p>
      </router-link>
      <router-link to="/key">
        <img src="/favicon.ico" alt="" />
        <p :class="{ active: current == '/key' }" @click="current = '/key'">Key</p>
      </router-link>
      <router-link to="/watch">
        <img src="/favicon.ico" alt="" />
        <p :class="{ active: current == '/watch' }" @click="current = '/watch'">Watch</p>
      </router-link>

      <router-link to="/cart">
        <img src="/favicon.ico" alt="" />
        <p :class="{ active: current == '/cart' }" @click="current = '/cart'">购物车</p>
      </router-link>
      <router-link to="/mine">
        <img src="/favicon.ico" alt="" />
        <p :class="{active:current=='/mine'}" @click="current='/mine'">我的</p>
      </router-link>
    </footer>
  </div>
</template>
<script>
export default {
  data() {
    return {
      current: "/",
    };
  },
  methods: {},
  created: {},
};
</script>
<style scoped>
.footer {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  background: rgb(243, 207, 207);
}
.footer a {
  color: gray;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.footer a img {
  width: 20px;
  height: 20px;
}
.active {
  color: #f69;
}
</style>
相关推荐
C_心欲无痕2 分钟前
vue3 - markRaw标记为非响应式对象
前端·javascript·vue.js
qingyun98915 分钟前
深度优先遍历:JavaScript递归查找树形数据结构中的节点标签
前端·javascript·数据结构
胡楚昊16 分钟前
NSSCTF动调题包通关
开发语言·javascript·算法
熬夜敲代码的小N33 分钟前
Vue (Official)重磅更新!Vue Language Tools 3.2功能一览!
前端·javascript·vue.js
90后的晨仔38 分钟前
用 Python 脚本一键重命名序列帧图片的名称
前端
辰同学ovo38 分钟前
Vue 2 路由指南:从入门到实战优化
前端·vue.js
小彭努力中39 分钟前
1.在 Vue 3 中使用 Cesium 快速展示三维地球
前端·javascript·vue.js·#地图开发·#cesium·#vue3
一棵开花的树,枝芽无限靠近你42 分钟前
【face-api.js】1️⃣基于Tensorflow.js的人脸识别项目开源项目
javascript·开源·tensorflow·face-api.js
一字白首1 小时前
Vue3 进阶,新特性 defineOptions/defineModel+Pinia 状态管理全解析
前端·javascript·vue.js
90后的晨仔1 小时前
🛠️ 为什么配置 ~/.ssh/config 后,Sourcetree 就能正常推送了?
前端