<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

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

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:06:44
        文檔

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

        vue使用v-for實(shí)現(xiàn)hover點(diǎn)擊效果:使用Vue來實(shí)現(xiàn)鼠標(biāo)懸停效果。可以使用事件處理器v-on指令(簡(jiǎn)寫為:@)來完成。為標(biāo)簽綁定mouseenter以及mouseleave事件即可。 hover是css中的選擇器,用于選擇鼠標(biāo)指針浮動(dòng)在上面的元素。所以a:hover可用于設(shè)置當(dāng)鼠標(biāo)懸停在超鏈接之上時(shí)超鏈接的樣式。 在
        推薦度:
        導(dǎo)讀vue使用v-for實(shí)現(xiàn)hover點(diǎn)擊效果:使用Vue來實(shí)現(xiàn)鼠標(biāo)懸停效果。可以使用事件處理器v-on指令(簡(jiǎn)寫為:@)來完成。為標(biāo)簽綁定mouseenter以及mouseleave事件即可。 hover是css中的選擇器,用于選擇鼠標(biāo)指針浮動(dòng)在上面的元素。所以a:hover可用于設(shè)置當(dāng)鼠標(biāo)懸停在超鏈接之上時(shí)超鏈接的樣式。 在

        使用Vue來實(shí)現(xiàn)鼠標(biāo)懸停效果。可以使用事件處理器v-on指令(簡(jiǎn)寫為:@)來完成。為標(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)的形式來修改元素的狀態(tài), 而并非是之前使用jq來操作dom元素, 這樣效率也是非常低的, 像vue, react 都是以虛擬dom的形式渲染頁面, 以數(shù)據(jù)的變化來更新虛擬dom, 從而更新頁面.

        jquery 來實(shí)現(xiàn)

        1.給li來綁定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名來實(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 來給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)站的支持!

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        vue使用v-for實(shí)現(xiàn)hover點(diǎn)擊效果:使用Vue來實(shí)現(xiàn)鼠標(biāo)懸停效果。可以使用事件處理器v-on指令(簡(jiǎn)寫為:@)來完成。為標(biāo)簽綁定mouseenter以及mouseleave事件即可。 hover是css中的選擇器,用于選擇鼠標(biāo)指針浮動(dòng)在上面的元素。所以a:hover可用于設(shè)置當(dāng)鼠標(biāo)懸停在超鏈接之上時(shí)超鏈接的樣式。 在
        推薦度:
        標(biāo)簽: VUE 點(diǎn)擊 效果
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲色无码国产精品网站可下载| 亚洲精品视频免费看| 激情无码亚洲一区二区三区| 18禁无遮挡无码国产免费网站| 久久精品国产精品亚洲艾| 久久国产精品成人免费| 中文字幕久久亚洲一区| 一个人看的www免费在线视频| 亚洲综合国产精品第一页| 波霸在线精品视频免费观看| 狠狠亚洲婷婷综合色香五月排名 | 在线播放国产不卡免费视频 | 日本不卡视频免费| 极品色天使在线婷婷天堂亚洲| 亚洲乱码中文论理电影| 中文字幕av无码无卡免费| 亚洲国产成人超福利久久精品| 色欲国产麻豆一精品一AV一免费| 亚洲av综合avav中文| 精品国产污污免费网站aⅴ| 亚洲高清一区二区三区| 亚洲av再在线观看| 成全动漫视频在线观看免费高清版下载 | 亚洲 欧洲 视频 伦小说| 波多野结衣免费视频观看| 国产免费MV大全视频网站| 亚洲人成电影福利在线播放| 在线观看免费宅男视频| 女人裸身j部免费视频无遮挡| 国产精品亚洲成在人线| 99久久综合国产精品免费| 国产亚洲综合视频| 亚洲爆乳无码一区二区三区| 成人免费无码视频在线网站| 美女黄色免费网站| 精品亚洲成a人片在线观看少妇| 精品国产免费观看久久久| a级片免费在线播放| 亚洲色中文字幕在线播放| 不卡一卡二卡三亚洲| 欧美a级在线现免费观看|