在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 為何點擊a屬性的文字,圖片會改變?

為何點擊a屬性的文字,圖片會改變?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
    var n = 1;
    function changePic(m){
        return n = m;
    }

    function change(){
        var myImg = document.getElementsByTagName("img")[0];
        myImg.src = "images/0" + n + ".jpg";
        if(n<5)n++;
        else n=1;
    }
    
    </script>
</head>
<body onload="setInterval(change,2000);">
    <img src="images/01.jpg" alt="" width="200">
    <div>
        <a href="#" onclick="changePic(1)">屋檐</a>
        <a href="#" onclick="changePic(2)">旅途</a>
        <a href="#" onclick="changePic(3)">紅墻</a>
        <a href="#" onclick="changePic(4)">梅花</a>
        <a href="#" onclick="changePic(5)">宮殿</a>
    </div>
</body>
</html>

上面的代碼很簡單,圖片每隔2秒,換一次,這個我理解。

問題是,當(dāng)我點擊某個a 的屬性,比如旅途,圖片為何會跳轉(zhuǎn)到旅游這個圖片呢?
changePic僅僅返回了一個數(shù)字 2 ,并沒有看出會改圖片?
change 和 changePic 是兩個函數(shù),changePic也無法調(diào)用change函數(shù)哈?

回答
編輯回答
綰青絲

n是一個全局變量。

changePic并沒有修改圖片,他只是修改了n

change里面,邏輯是:將圖片的編號替換為n,然后將n修改為下一次的編號。
那么在下一個change執(zhí)行之前呢,changePic提前修改了n的值,導(dǎo)致change將點擊的編號展示了出來。
這個n就是點擊時傳入的。

所以這是一個全局變量的運用問題。changePic沒有改圖片,只是改了一個變量,這個變量用于描述下一張圖片的編號。

點擊也沒有立即換圖,換圖還是等到了Interval的兩秒到了,才通過change換圖

2017年7月27日 18:54