iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

從JS到React的前端入門實作系列 第 7

Day7:JS使用css功能以及輸入文字並且顯示到頁面

前言

今天文字說明會比較少,圖比較多/images/emoticon/emoticon20.gif

今日目的

今天用js影藏昨天的計數器,以及用input輸入文字後抓取現在輸入,最後打印到頁面


影藏計算器

我們使用 js的 .style.display 讓id為calchidden影藏起來

    document.getElementById("calchidden").style.display="none"; //影藏div
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>累加符號在計數器以及清除計數器</title>

</head>
<body>

    <div id="calchidden">
        <div id="count"> </div>
        <div id="icon"> </div>
        <button onclick="start()">請點我</button>
        <button onclick="clean()">清空頁面</button>
    </div>

    <script>
        var startcalc; 
        var i = 0; //累加用

        function clean(){
            i = 0;//數字歸零
            clearInterval(startcalc); //停止調用函數 
            document.getElementById("icon").innerHTML  =""; //清空 icon div
            document.getElementById("count").innerHTML =""; //清空 count div

        }

        function calc(){
            document.getElementById("icon").innerHTML += "* "; //  += 累加星號
            document.getElementById("count").innerHTML = i; /* 把文字貼上到 div id 為 count  */
            i++; 
            if(i == 11 ){ // 一個 = 是給值 二個 == 是判斷 
                i = 0; // i算到101時 i歸0
                document.getElementById("calchidden").style.display="none"; //影藏div

                stopcalc(); //停止時間計算
            }
        }
        
        function start() { //開始計算
            startcalc = setInterval(calc, 100)// 不停地調用calc函數 每0.1秒觸發
        }

        function stopcalc() {
            clearInterval(startcalc); //停止調用函數 
        }

    </script>
</body>
</html>

這樣數完後目前畫面會變空白/images/emoticon/emoticon14.gif

新增輸入框

我們這次新增div後先影藏起來,div裡面有input跟按鈕,我們讓新增的div在數完數之後出現

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>累加符號在計數器以及清除計數器</title>

</head>
<body>

    <div id="calchidden">
        <div id="count"> </div>
        <div id="icon"> </div>
        <button onclick="start()">請點我</button>
        <button onclick="clean()">清空頁面</button>
    </div>

    <div id="show">
        <label >你好,</label>
        <label id="hello"></label>
        <input type="text" id="hellotext"> 
        <button onclick="changestring()">變更文字</button>
    </div>

    <script>
        var startcalc; 
        var i = 0; //累加用
        
        document.getElementById("show").style.display="none";
        function clean(){
            i = 0;//數字歸零
            clearInterval(startcalc); //停止調用函數 
            document.getElementById("icon").innerHTML  =""; //清空 icon div
            document.getElementById("count").innerHTML =""; //清空 count div

        }

        function calc(){
            document.getElementById("icon").innerHTML += "* "; //  += 累加星號
            document.getElementById("count").innerHTML = i; /* 把文字貼上到 div id 為 count  */
            i++; 
            if(i == 11 ){ // 一個 = 是給值 二個 == 是判斷 
                i = 0; // i算到101時 i歸0
                document.getElementById("calchidden").style.display="none"; //影藏div
                document.getElementById("show").style.display=""; //顯現div
                stopcalc(); //停止時間計算
            }
        }
        
        function start() { //開始計算
            startcalc = setInterval(calc, 100)// 不停地調用calc函數 每0.1秒觸發
        }

        function stopcalc() {
            clearInterval(startcalc); //停止調用函數 
        }

    </script>
</body>
</html>

如圖https://ithelp.ithome.com.tw/upload/images/20190920/201155059X7Xoenmu3.png

抓到輸入值並且輸出到頁面上

input定義了id,這樣就可以抓到輸入值,像以下這樣

        function changestring(){
            document.getElementById("hellotext").value;

        }

在我們定義的按鈕裡抓到input的輸入值,等等用innerHTML打印在畫面上

        function changestring(){
          var x = document.getElementById("hellotext").value;
          document.getElementById("hello").innerHTML = x;

        }

如圖https://ithelp.ithome.com.tw/upload/images/20190920/20115505JUkCdt01tC.png


今天就結束囉

參考資料:
https://www.w3schools.com/jsref/prop_style_display.asp


上一篇
Day6:累加符號在計數器以及清空頁面
下一篇
Day8:清空輸入欄位、畫面以及重新開始
系列文
從JS到React的前端入門實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言