亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

菜單圖片切換的問題?

菜單圖片切換的問題?

慕田峪9158850 2019-03-16 18:13:16
有這樣一個需求,如圖分別是四個菜單按鈕,這里的四個菜單圖標不是類似Font Awesome的矢量圖標,而是png格式的圖片,分別是f.png、u.png、s.png、p.png。需求:點擊相應的圖片,將會顯示其對應的f_a.png的透明圖片,在點擊其他圖片時(被點擊的圖片鏈接變換為 某_a.png 以此類推)同時原圖片將還原成f.png。那么這里使用js如何實現呢?(不考慮矢量圖標)
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

function setStyle(e, a) {

    var i;

    for (i in a) {

        e.style[i] = a[i]

    }

}


function changeIcon(index) {

    var home = document.getElementsByClassName('iconhome_act')[0],

        server = document.getElementsByClassName('iconservice')[0],

        user = document.getElementsByClassName('iconuser')[0];


    switch (index) {

    case 0:


        setStyle(home, {

            backgroundImage : "url('index/myImg/t_icon_home_active.png')"

        })

        setStyle(user, {

            backgroundImage : "url('index/myImg/t_icon_user.png')"

        });

        setStyle(server, {

            backgroundImage : "url('index/myImg/t_icon_service.png')"

        });


        break;

    case 1:

        setStyle(home, {

            backgroundImage : "url('index/myImg/t_icon_home.png')"

        })

        setStyle(user, {

            backgroundImage : "url('index/myImg/t_icon_user.png')"

        });

        setStyle(server, {

            backgroundImage : "url('index/myImg/t_icon_service_active.png')"

        });


        break;

    case 2:

        setStyle(home, {

            backgroundImage : "url('index/myImg/t_icon_home.png')"

        })

        setStyle(user, {

            backgroundImage : "url('index/myImg/t_icon_user_active.png')"

        });

        setStyle(server, {

            backgroundImage : "url('index/myImg/t_icon_service.png')"

        });


        break;


    }


}

我這里的index是外層函數傳遞的索引值


查看完整回答
反對 回復 2019-03-24
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

js


{

    data() {

        {

            currentIndex: 0,

            items: ['f.png', 'u.png', 's.png', 'p.png']

        }

    },

    methods: {

        getSrc(i) {

            var src = this.items[i]

            if (i === this.currentIndex) {

                src = src.replace(/(?=.\.png)/, '_')

            }

            return src

        }

    }

}

template


<img v-for="(item,i) of items" :src="getSrc(i)" @click="currentIndex=i"/>


查看完整回答
反對 回復 2019-03-24
  • 3 回答
  • 0 關注
  • 472 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號