图片的显示隐藏(两张图片,默认的时候显示第一张,点击的时候显示另一张)

在写项目的时候,经常遇到一些图片显示的问题,

当页面静止的时候显示第一张(第二张页面隐藏),点击或者划过的时候显示第二张(第一张图片隐藏)  【并且第二张图片显示的时候,下面的文字也是变化的】

页面代码如下:

<div class="fk">
      <ul class="img_1">
             <li v-for="(item, i) in xhwb" :key="i" @click="active2 = i">
                   <img v-if="active2 === i" :src="item.img_2" alt="">
                   <img v-else :src="item.img_1" alt="">
              </li>
      </ul>
      <div class="gd" v-if="active2 === null">
             <span>查看更多</span>
             <img class="img_1" src="../../static/img/jthui.png" alt="">
      </div>
      <div class="gd" v-else>
             <span style="color: red">查看更多</span>
             <img class="img_1" src="../../static/img/jtred.png" alt="">
      </div>
</div>            

js代码:

<script>
export default {
  name: 'logo',
  data () {
    return {
      xhwb: [
        {
          img_1: require('../../static/img/jshui.png'),
          img_2: require('../../static/img/jsred.png')
        },
        {
          img_1: require('../../static/img/cphui.png'),
          img_2: require('../../static/img/cpred.png')
        },
        {
          img_1: require('../../static/img/alhui.png'),
          img_2: require('../../static/img/alred.png')
        },
        {
          img_1: require('../../static/img/tshui.png'),
          img_2: require('../../static/img/tsred.png')
        }
      ],
      active: null
    }
  }
}

css样式:

.img_1{
         width: 590px;
         height: 195px;
         display: flex;
         justify-content: space-around;
           li {
               padding-top: 50px;
           }
      }

效果图如下:

解释:四张图片默认显示灰色的,点击的时候现在红色,并且下面的文字也随着变红

 

posted @ 2018-11-05 16:58  哼着自己旳小调调  阅读(824)  评论(0编辑  收藏  举报