python學習之javascripts

JavaScript 簡介

JavaScript 是互聯網上最流行的腳本語言,這門語言可用於 HTML 和 web,更可廣泛用於服務器、PC、筆記本電腦、平板電腦和智能手機等設備。
JavaScript 是腳本語言

JavaScript 是一種輕量級的編程語言。

JavaScript 是可插入 HTML 頁面的編程代碼。

JavaScript 插入 HTML 頁面後,可由所有的現代瀏覽器執行。

簡單的javascripts

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>

    alert("我的第一個 JavaScript");

    </script>
</head>
<body>

這是一個javascript頁面
</body>
</html>

<body> 中的 JavaScript

在本例中,JavaScript 會在頁面加載時向 HTML 的 <body> 寫文本:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>

    document.write("<h1>這是一個標題</h1>");
    document.write("<p>這是一個段落</p>");

    </script>
</head>
<body>

這是一個javascript頁面
</body>
</html>

在 <head> 或者 <body> 的JavaScript

您可以在 HTML 文檔中放入不限數量的腳本。

腳本可位於 HTML 的 <body> 或 <head> 部分中,或者同時存在於兩個部分中。

通常的做法是把函數放入 <head> 部分中,或者放在頁面底部。這樣就可以把它們安置到同一處位置,不會干擾頁面的內容

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>(runoob.com)</title> 
<script>
function myFunction(){
    document.getElementById("demo").innerHTML="我的第一個 JavaScript 函數";
}
</script>
</head>
<body>

<h1>我的 Web 頁面</h1>
<p id="demo">一個段落。</p>
<button type="button" onclick="myFunction()">點擊這裏</button>

</body>
</html>

<body> 中的 JavaScript 函數

在本例中,我們把一個 JavaScript 函數放置到 HTML 頁面的 <body> 部分。

該函數會在點擊按鈕時被調用:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>(runoob.com)</title>
</head>
<body>

<h1>我的第一個 Web 頁面</h1>
<p id="demo">一個段落。</p>
<button type="button" onclick="myFunction()">點擊這裏</button>
<script>
function myFunction(){
    document.getElementById("demo").innerHTML="我的第一個 JavaScript 函數";
}
</script>

</body>
</html>

外部的 JavaScript

也可以把腳本保存到外部文件中。外部文件通常包含被多個網頁使用的代碼。

外部 JavaScript 文件的文件擴展名是 .js。

如需使用外部文件,請在 <script> 標籤的 "src" 屬性中設置該 .js 文件:

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>(runoob.com)</title> 
</head>
<body>

<h1>我的 Web 頁面</h1>
<p id="demo">一個段落。</p>
<button type="button" onclick="myFunction()">點擊這裏</button>
<p><b>註釋:</b>myFunction 保存在名爲 "myScript.js" 的外部文件中。</p>
<script src="myScript.js"></script>

</body>
</html>

聚焦(onfocus)和離焦(onblur)事件:

onfocus事件:聚焦事件,onfocus 事件在對象獲得焦點時發生。
onblur事件:離焦事件,onblur 事件會在對象失去焦點時發生。
爲了使用戶體驗更好,在鼠標點擊到用戶名的框時,右邊提示輸入用戶名和密碼的要求,當離開框時,檢測用戶名和密碼是否正確。

我們在平常的登錄過程當中,用戶名和密碼欄後面一般會有所輸入內容相關要求和提示的,並不會總是 跳出警示框,這種需求該如何實現呢?那就需要用到聚焦和離焦事件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        function showUserTips() {
            var usertipsObj = document.getElementById('usertips');

            var info ='<span style="color: gray">用戶名長度大於2</span>';
            // alert(usertipsObj.innerHTML);
            usertipsObj.innerHTML = info;

        }

        function checkUser() {
             //獲取當前用戶提交的用戶名,默認情況下getElementsByName返回列表對象, .value獲取對象裏面的值
            var username = document.getElementsByName('username')[0].value;
            // 判斷用戶名是否爲空, 如果爲空, 報錯
             var usertipsObj = document.getElementById('usertips');
            if (username.length <= 2) {

                usertipsObj.innerHTML = '<span style="color: red">用戶名長度不大於2</span>'
            }else{
                usertipsObj.innerHTML = '<span style="color: green;">ok</span>'
            }
        }
    </script>
</head>
<body>

<div class="login">
    <h1>用戶登錄</h1>
    <form action="#" method="get">
        <!--onfocus聚焦事件, 如果聚焦, 執行函數showUserTips()-->
                    <input type="text" name="username" placeholder="用戶名" id='user' onfocus="showUserTips()" onblur="checkUser()">
        <span id="usertips"></span><br/>
        <input type="password" name="password" placeholder="密碼" id="pwd"><br/>
        <input type="submit" value="登錄">
    </form>

</div>

</body>
</html>

點擊onclick事件

點擊事件
onclick事件:onclick 事件會在對象被點擊時發生。
案例(1)onclick實現圖片的轉換:實現點擊按鈕,切換圖片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <script>
        function showUserTips() {
            var usertipsObj = document.getElementById('usertips');

            var info ='<span style="color: gray">用戶名長度大於2</span>';
            // alert(usertipsObj.innerHTML);
            usertipsObj.innerHTML = info;

        }

        function checkUser() {
            //獲取當前用戶提交的用戶名,默認情況下getElementsByName返回列表對象, .value獲取對象裏面的值
            var username = document.getElementsByName('username')[0].value;
            // 判斷用戶名是否爲空, 如果爲空, 報錯
            var usertipsObj = document.getElementById('usertips');
            if (username.length <= 2) {

                usertipsObj.innerHTML = '<span style="color: red">用戶名長度不大於2</span>'
            }else{
                usertipsObj.innerHTML = '<span style="color: green;">ok</span>'
            }
        }
    </script>
</head>
<body>

<div class="login">
    <h1>用戶登錄</h1>
    <form action="#" method="get">
        <!--onfocus聚焦事件, 如果聚焦, 執行函數showUserTips()-->
        <input type="text" name="username" placeholder="用戶名" id='user' οnfοcus="showUserTips()" οnblur="checkUser()">
        <span id="usertips"></span><br/>
        <input type="password" name="password" placeholder="密碼" id="pwd"><br/>
        <input type="submit" value="登錄">
    </form>

</div>

</body>
</html>

實現表格全選與全部選案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function checkAll() {
            //    1. 獲取全選框對象
            var checkAllEle = document.getElementById('checkAll');

            //    獲取當前的狀態, 如果返回true, 則代表選中, 否則未選中;
            // alert(checkAllEle.checked);
            var checkOnes = document.getElementsByName('checkOne');
            if (checkAllEle.checked) {
                for (var i = 0; i < checkOnes.length; i++) {
                    checkOnes[i].checked = true;
                }

            } else {
                for (var i = 0; i < checkOnes.length; i++) {
                    checkOnes[i].checked = false;
                }

            }

        }
    </script>
</head>
<body>

<table style="width: 600px;margin: 0 auto;margin-top: 50px;text-align: center;" border="1px">
    <th style="text-align: center;" colspan="5">
        <input type="button" value="添加">
        <input type="button" value="刪除">
    </th>
    <tr>

        <th><input type="checkbox" id="checkAll" onclick="checkAll()"></th>
        <th>編號</th>
        <th>姓名</th>
        <th>性別</th>
        <th>年齡</th>
    </tr>
    <tr>
        <td><input type="checkbox" name="checkOne"></td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
        <td>1</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="checkOne"></td>
        <td>2</td>
        <td>1</td>
        <td>2</td>
        <td>2</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="checkOne"></td>
        <td>3</td>
        <td>3</td>
        <td>3</td>
        <td>1</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="checkOne"></td>
        <td>4</td>
        <td>4</td>
        <td>1</td>
        <td>4</td>
    </tr>
    <tr>
        <td><input type="checkbox" name="checkOne"></td>
        <td>5</td>
        <td>5</td>
        <td>1</td>
        <td>5</td>
    </tr>
</table>

</body>

動態添加城市

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function addCity() {
        //    1. 獲取要添加的城市內容
            var city = document.getElementById('city').value;

        //    2. 判斷城市是否有值, 如果有, 則添加到列表裏面
            if(city){
            //    創建一個關於城市的文本節點
                var textnode = document.createTextNode(city); //廣州

            //    創建一個li元素節點
                var liEleNode = document.createElement('li');

            //    將城市信息添加到li標籤裏面<li>城市名稱</li>
                liEleNode.appendChild(textnode);
            //    將城市列表標籤添加到ul標籤裏面去;
                var ulEleNode = document.getElementById('city_ul');
                ulEleNode.appendChild(liEleNode)

            }else{
                alert("城市未空");
            }

        }
    </script>
</head>
<body>

<div class="content">
    <form>
        <input type="text" name="city" id="city" placeholder="請輸入城市">
        <input type="button" value="添加城市" onclick="addCity()">
    </form>

<!--
<li>深圳</li>

-->
    <ul id="city_ul">
        <li>西安</li>
        <li>成都</li>
        <li>上海</li>
    </ul>

</div>

</body>

省級信息二級聯動

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--js和html代碼分離-->

    <script type="text/javascript" src="js/province.js">

    </script>
</head>
<body>

<div class="content">
    <form action="#" method="get">
        <span>籍貫</span>
        <!--當修改省份選項時, 執行函數changeCity的內容-->
        <select id="province" onchange="changeCity()">
            <option>---選擇省份-----</option>
            <option name="province" value="0">陝西</option>
            <option name="province" value="1">山西</option>
            <option name="province" value="2">廣西</option>
        </select>
        <select id="city">
            <option>---選擇城市---</option>
        </select>

    </form>
</div>

</body>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章