最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用v-for實(shí)現(xiàn)hover點(diǎn)擊效果

 更新時(shí)間:2018年09月29日 16:31:01   作者:會(huì)游泳de哈士奇  
hover是css中的選擇器,用于選擇鼠標(biāo)指針浮動(dòng)在上面的元素。這篇文章主要介紹了vue使用v-for實(shí)現(xiàn)hover點(diǎn)擊效果,需要的朋友可以參考下

使用Vue來(lái)實(shí)現(xiàn)鼠標(biāo)懸停效果??梢允褂檬录幚砥鱲-on指令(簡(jiǎn)寫為:@)來(lái)完成。為標(biāo)簽綁定mouseenter以及mouseleave事件即可。

hover是css中的選擇器,用于選擇鼠標(biāo)指針浮動(dòng)在上面的元素。所以a:hover可用于設(shè)置當(dāng)鼠標(biāo)懸停在超鏈接之上時(shí)超鏈接的樣式。

在當(dāng)今比較流行的前端框架里 vue react 都是以數(shù)據(jù)驅(qū)動(dòng)的形式來(lái)修改元素的狀態(tài), 而并非是之前使用jq來(lái)操作dom元素, 這樣效率也是非常低的, 像vue, react 都是以虛擬dom的形式渲染頁(yè)面, 以數(shù)據(jù)的變化來(lái)更新虛擬dom, 從而更新頁(yè)面.

jquery 來(lái)實(shí)現(xiàn)

1.給li來(lái)綁定hover事件

@mouseover="hover(index)"

2.在hover函數(shù)內(nèi)去操作dom eq選中當(dāng)前hover的li去修改它的樣式, siblings()選中其他的li修改樣式

hover: function(index){
  console.log(index);
  $('ul li').eq(index).css({
    'background': '#ccc',
    'color': '#fff'
  }).siblings().css({
    'background': '#fff',
    'color': '#333'
  })
}

vue 利用不同的class名來(lái)實(shí)現(xiàn)

首先寫兩個(gè)不同狀態(tài)的樣式

.hoverBg{
  background: #ccc;
  color: #fff;
}
.clickBg{
  background: red;
  color: #fff;
}

然后給兩個(gè)狀態(tài)綁定兩個(gè)值

export default {
  data: function(){
    return {
      itemArr:['A','B','C','D'],
      hoverIndex: -1, //表示當(dāng)前hover的是第幾個(gè)li 初始為 -1 或 null 不能為0 0表示第一個(gè)li
      clickIndex: -1, //表示當(dāng)前點(diǎn)擊的是第幾個(gè)li 初始為 -1 或 null 不能為0 0表示第一個(gè)li
    }
  },
}

hover的時(shí)候讓hoverIndex等于hover的li,點(diǎn)擊時(shí)候一樣

@mouseover="hoverIndex = index"
@click="clickIndex = index"

鼠標(biāo)移出又取消移出狀態(tài) 即讓hover的li為 -1 或 null

@mouseout="hoverIndex = -1"

然后利用 hoverIndex 和 clickIndex 來(lái)給li不同的class名 實(shí)現(xiàn)效果

:class="{'clickBg':index==clickIndex,'hoverBg':index==hoverIndex}"

用的熟練了就可以做出更多的東西,不同li渲染不同的樣式

全部代碼如下:

<template>
  <ul class="item">
    <li v-for="(item, index) in itemArr" :key="index"
      :class="{'clickBg':index==clickIndex,'hoverBg':index==hoverIndex}"
      @click="clickIndex = index"
      @mouseover="hoverIndex = index"
      @mouseout="hoverIndex = -1">
      {{item}}
    </li>
  </ul>
</template>

<script>
 export default {
   data: function(){
     return {
       itemArr:['A','B','C','D'],
       hoverIndex: -1, //表示當(dāng)前hover的是第幾個(gè)li 初始為 -1 或 null 不能為0 0表示第一個(gè)li
       clickIndex: -1, //表示當(dāng)前點(diǎn)擊的是第幾個(gè)li 初始為 -1 或 null 不能為0 0表示第一個(gè)li
     }
   },
 }
</script>

<style>
 .item{
   width: 600px;
   height: 60px;
 }
 .item li{
   width: 80px;
   height: 60px;
   line-height: 60px;
   margin-left: 20px;
   float: left;
   text-align: center;
   cursor: pointer;
 }
 .hoverBg{
   background: #ccc;
   color: #fff;
 }
 .clickBg{
   background: red;
   color: #fff;
 }
</style>

總結(jié)

以上所述是小編給大家介紹的vue使用v-for實(shí)現(xiàn)hover點(diǎn)擊效果,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vuejs2.0子組件改變父組件的數(shù)據(jù)實(shí)例

    vuejs2.0子組件改變父組件的數(shù)據(jù)實(shí)例

    本篇文章主要介紹了vuejs2.0子組件改變父組件的數(shù)據(jù)實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-05-05
  • vue-router命名路由和編程式路由傳參講解

    vue-router命名路由和編程式路由傳參講解

    今天小編就為大家分享一篇關(guān)于vue-router命名路由和編程式路由傳參講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • 講解vue-router之命名路由和命名視圖

    講解vue-router之命名路由和命名視圖

    這篇文章主要介紹了講解vue-router之命名路由和命名視圖,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-05-05
  • VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決

    VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決

    這篇文章主要介紹了VUE element上傳動(dòng)態(tài)設(shè)置action路徑和參數(shù)的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Vue組件之Tooltip的示例代碼

    Vue組件之Tooltip的示例代碼

    這篇文章主要介紹了Vue組件之Tooltip的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-10-10
  • Vue 項(xiàng)目代理設(shè)置的優(yōu)化

    Vue 項(xiàng)目代理設(shè)置的優(yōu)化

    這篇文章主要介紹了Vue 項(xiàng)目代理設(shè)置的優(yōu)化功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-04-04
  • vue+elementUI(el-upload)圖片壓縮,默認(rèn)同比例壓縮操作

    vue+elementUI(el-upload)圖片壓縮,默認(rèn)同比例壓縮操作

    這篇文章主要介紹了vue+elementUI(el-upload)圖片壓縮,默認(rèn)同比例壓縮操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-08-08
  • node.js開發(fā)輔助工具nodemon安裝與配置詳解

    node.js開發(fā)輔助工具nodemon安裝與配置詳解

    node.js代碼修改后,需要重新啟動(dòng) Express 應(yīng)用,所做的修改才能生效。若之后的每次代碼修改都要重復(fù)這樣的操作,勢(shì)必會(huì)影響開發(fā)效率,本文將詳細(xì)介紹Nodemon,它會(huì)監(jiān)測(cè)項(xiàng)目中的所有文件,一旦發(fā)現(xiàn)文件有改動(dòng),Nodemon 會(huì)自動(dòng)重啟應(yīng)用
    2020-02-02
  • Vue實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果

    Vue實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)星級(jí)評(píng)價(jià)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vuex + axios 做登錄驗(yàn)證 并且保存登錄狀態(tài)的實(shí)例

    vuex + axios 做登錄驗(yàn)證 并且保存登錄狀態(tài)的實(shí)例

    今天小編就為大家分享一篇vuex + axios 做登錄驗(yàn)證 并且保存登錄狀態(tài)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-09-09

最新評(píng)論

绥棱县| 平远县| 麟游县| 山东省| 仲巴县| 元氏县| 乾安县| 绥滨县| 陵川县| 望谟县| 普格县| 潜山县| 卓资县| 麟游县| 平顶山市| 金乡县| 鄂托克前旗| 嘉禾县| 逊克县| 应城市| 沽源县| 重庆市| 上犹县| 和平区| 旺苍县| 盐源县| 宽城| 越西县| 新乐市| 蛟河市| 伊宁市| 嵊泗县| 安阳县| 安多县| 丰台区| 仙游县| 逊克县| 宜兰市| 专栏| 阿荣旗| 枣强县|