09.JavaScirpt window

  • window 窗口

  1. 所有瀏覽器都支持window對(duì)象,它表示瀏覽器窗口本身;
  2. 所有 JavaScript 全局對(duì)象秀又、全局函數(shù)以及全局變量均自動(dòng)成為 window 對(duì)象的成員
  3. 全局變量是window對(duì)象的屬性,全局函數(shù)是window對(duì)象的方法;
  4. document也是window對(duì)象的屬性
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            .code{
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            pre{
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            .result{
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
                padding: 0.5em 1em;
            }
            h3{
                color: red;
            }
            .result span:first-child{
                display: block;
                float: left;
                width: 10em;
                color: black;
            }
        </style>
        <script type="text/javascript">
            function objDisplay(eleId,obj){
                if(typeof(eleId)!="string" || typeof(obj)!="object"){
                    alert("Function objDisplay() need the first parameter string and second object !")
                }else{
                    var ele = document.getElementById(eleId);
                
                    if(!ele || !obj){
                        alert("Please check the parameter !")
                    }else{
                        for(i in obj){
                            var div = document.createElement("div");
                            
                            for(var j=0;j<2;j++){
                                var span = document.createElement("span");
                                if(j==0) span.innerHTML = i+" : ";
                                else span.innerHTML = obj[i];
                                div.appendChild(span);
                            }
                        ele.appendChild(div);
                        }
                    }
                }               
            }
        </script>
    </head>
    <body>
        <ul>
            <li>
                <h3>window</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    //window屬性和方法
                    var winDict = {
                        "windowWidth":window.innerWidth,
                        "windowHeight":window.innerHeight,
                        "window.open()":"打開新窗口",
                        "window.close()":"關(guān)閉當(dāng)前窗口",
                        "window.moveTo()":"移動(dòng)當(dāng)前窗口",
                        "window.resizeTo()":"調(diào)整當(dāng)前窗口的尺寸"
                    }
                    //涵蓋所有瀏覽器的寫法(瀏覽器的視口砾肺,不包括工具欄和滾動(dòng)條)
                    var winHeight = window.innerHeight
                    ||document.documentElement.clientWidth
                    ||document.body.clientWidth;
                    
                    var winWidth = window.innerWidth
                    ||document.documentElement.clientWidth
                    ||document.body.clientWidth;
                    
                    objDisplay("winDict",winDict);
                    </pre>
                </div>              
                <h4>結(jié)果:</h4>
                <div id="winDict" class="result"></div>
                <hr />
                <script>
                    //window屬性和方法
                    var winDict = {
                        "windowWidth":window.innerWidth,
                        "windowHeight":window.innerHeight,
                        "window.open()":"打開新窗口",
                        "window.close()":"關(guān)閉當(dāng)前窗口",
                        "window.moveTo()":"移動(dòng)當(dāng)前窗口",
                        "window.resizeTo()":"調(diào)整當(dāng)前窗口的尺寸"
                    }
                    //涵蓋所有瀏覽器的寫法(瀏覽器的視口鉴裹,不包括工具欄和滾動(dòng)條)
                    var winHeight = window.innerHeight
                    ||document.documentElement.clientWidth
                    ||document.body.clientWidth;
                    
                    var winWidth = window.innerWidth
                    ||document.documentElement.clientWidth
                    ||document.body.clientWidth;
                    
                    objDisplay("winDict",winDict);
                </script>
            </li>               
        </ul>       
    </body>
</html>
image.png

  • screen 屏幕

  1. window.screen 對(duì)象在實(shí)際寫的時(shí)候,可以不寫window;
  2. screen.availWidth/screen.availHeight 屬性返回訪問者屏幕的寬度/高度钓觉,以像素計(jì),減去界面特性滥玷,比如窗口任務(wù)欄;
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            .code{
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            pre{
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            .result{
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
                padding: 0.5em 1em;
            }
            h3{
                color: red;
            }
            .result span:first-child{
                display: block;
                float: left;
                width: 10em;
                color: black;
            }
        </style>
        <script type="text/javascript">
            function objDisplay(eleId,obj){
                if(typeof(eleId)!="string" || typeof(obj)!="object"){
                    alert("Function objDisplay() need the first parameter string and second object !")
                }else{
                    var ele = document.getElementById(eleId);
                
                    if(!ele || !obj){
                        alert("Please check the parameter !")
                    }else{
                        for(i in obj){
                            var div = document.createElement("div");
                            
                            for(var j=0;j<2;j++){
                                var span = document.createElement("span");
                                if(j==0) span.innerHTML = i+" : ";
                                else span.innerHTML = obj[i];
                                div.appendChild(span);
                            }
                        ele.appendChild(div);
                        }
                    }
                }               
            }
        </script>
    </head>
    <body>
        <ul>
            <li>
                <h3>screen</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    //screen屬性
                    var scrDict = {
                        "availWidth":window.screen.availWidth,
                        "windowHeight":screen.availHeight,
                    }
                    
                    objDisplay("winDict",scrDict);
                    </pre>
                </div>              
                <h4>結(jié)果:</h4>
                <div id="winDict" class="result"></div>
                <hr />
                <script>
                    //screen屬性
                    var scrDict = {
                        "availWidth":window.screen.availWidth,
                        "windowHeight":screen.availHeight,
                    }
                    
                    objDisplay("winDict",scrDict);
                </script>
            </li>               
        </ul>       
    </body>
</html>
image.png

  • location 位置

  1. window.location 對(duì)象用于獲得當(dāng)前頁(yè)面的地址 (URL)为狸,并可以把瀏覽器重定向到新的頁(yè)面;
  2. window.location 對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴;
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            .code{
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            pre{
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            .result{
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
                padding: 0.5em 1em;
            }
            h3{
                color: red;
            }
            .result span:first-child{
                display: block;
                float: left;
                width: 10em;
                color: black;
            }
            button{
                background-color: blueviolet;
                color: white;
                border: 2px solid plum;
                border-radius: 2em;
                padding: 0.5em;
                margin: 0.5em;
            }
            button:focus{
                color: bisque;
            }
        </style>
        <script type="text/javascript">
            function objDisplay(eleId,obj){
                if(typeof(eleId)!="string" || typeof(obj)!="object"){
                    alert("Function objDisplay() need the first parameter string and second object !")
                }else{
                    var ele = document.getElementById(eleId);
                
                    if(!ele || !obj){
                        alert("Please check the parameter !")
                    }else{
                        for(i in obj){
                            var div = document.createElement("div");
                            
                            for(var j=0;j<2;j++){
                                var span = document.createElement("span");
                                if(j==0) span.innerHTML = i+" : ";
                                else span.innerHTML = obj[i];
                                div.appendChild(span);
                            }
                        ele.appendChild(div);
                        }
                    }
                }               
            }
        </script>
    </head>
    <body>
        <ul>
            <li>
                <h3>location</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    //location屬性
                    var lcaDict = {
                        "hostname":window.location.hostname,//返回 web 主機(jī)的域名
                        "pathname":location.pathname,//返回當(dāng)前頁(yè)面的路徑和文件名
                        "port":location.port,//返回 web 主機(jī)的端口
                        "protocol":location.protocol,//返回所使用的 web 協(xié)議(http:// 或 https://)
                        "href":location.href,//屬性返回當(dāng)前頁(yè)面的 URL
                    }
                    
                    objDisplay("lcaDict",lcaDict);
                    </pre>
                </div>              
                <h4>結(jié)果:</h4>
                <div id="lcaDict" class="result"></div>
                <!--location.assign() 方法加載新的文檔-->
                <button onclick="location.assign('http://www.reibang.com/')">Assign</button>
                <hr />
                <script>
                    //location屬性
                    var lcaDict = {
                        "hostname":window.location.hostname,//返回 web 主機(jī)的域名
                        "pathname":location.pathname,//返回當(dāng)前頁(yè)面的路徑和文件名
                        "port":location.port,//返回 web 主機(jī)的端口
                        "protocol":location.protocol,//返回所使用的 web 協(xié)議(http:// 或 https://)
                        "href":location.href,//屬性返回當(dāng)前頁(yè)面的 URL
                    }
                    
                    objDisplay("lcaDict",lcaDict);
                </script>
            </li>               
        </ul>       
    </body>
</html>
image.png

  • history 歷史

  1. history.back()方法加載歷史列表中的前一個(gè) URL,與在瀏覽器點(diǎn)擊后退按鈕相同;
  2. history.forward()方法加載歷史列表中的下一個(gè) URL,與在瀏覽器中點(diǎn)擊按鈕向前相同;
  3. window.history 對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .code{
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            pre{
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            .result{
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
            }
            ul li h3{
                color: red;
            }
            button{
                background-color: blueviolet;
                color: white;
                border: 2px solid plum;
                border-radius: 2em;
                padding: 0.5em;
                margin: 0.5em;
            }
            button:focus{
                color: bisque;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>
                <h3>history</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    &lt;button name="back" onclick="window.history.back()"&gt;back&lt;/button&gt;
                    &lt;button name="forward" onclick="history.forward()"&gt;forward&lt;/button&gt;
                    </pre>
                </div>
                <h4>結(jié)果:</h4>
                <div class="result">
                    <button name="back" onclick="window.history.back()">back</button>
                    <button name="forward" onclick="history.forward()">forward</button>
                </div>
            </li>
            <hr />
        </ul>
    </body>
</html>
image.png

  • Navigator 導(dǎo)航

  1. window.navigator 對(duì)象包含有關(guān)訪問者瀏覽器的信息;
  2. window.navigator 對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴
  3. 來自 navigator 對(duì)象的信息具有誤導(dǎo)性背苦,不應(yīng)該被用于檢測(cè)瀏覽器版本
    navigator 數(shù)據(jù)可被瀏覽器使用者更改;
    瀏覽器無法報(bào)告晚于瀏覽器發(fā)布的新操作系統(tǒng);
  4. 使用對(duì)象來檢測(cè)瀏覽器,例:由于只有 Opera 支持屬性 "window.opera"互捌,可以據(jù)此識(shí)別出 Opera
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            .code{
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            pre{
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            .result{
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
                padding: 0.5em 1em;
            }
            h3{
                color: red;
            }
            .result span:first-child{
                display: block;
                float: left;
                width: 10em;
                color: black;
            }
        </style>
        <script type="text/javascript">
            function objDisplay(eleId,obj){
                if(typeof(eleId)!="string" || typeof(obj)!="object"){
                    alert("Function objDisplay() need the first parameter string and second object !")
                }else{
                    var ele = document.getElementById(eleId);
                
                    if(!ele || !obj){
                        alert("Please check the parameter !")
                    }else{
                        for(i in obj){
                            var div = document.createElement("div");
                            
                            for(var j=0;j<2;j++){
                                var span = document.createElement("span");
                                if(j==0) span.innerHTML = i+" : ";
                                else span.innerHTML = obj[i];
                                div.appendChild(span);
                            }
                        ele.appendChild(div);
                        }
                    }
                }               
            }
        </script>
    </head>
    <body>
        <ul>
            <li>
                <h3>navigator</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    //navigator屬性
                    var navDict = {
                        "appCodeName":window.navigator.appCodeName,
                        "appName":navigator.appName,
                        "appVersion":navigator.appVersion,
                        "cookieEnabled":navigator.cookieEnabled,
                        "platform":navigator.platform,
                        "userAgent":navigator.userAgent,
                        "systemLanguage":navigator.systemLanguage,
                    }
                    
                    objDisplay("navDict",navDict);
                    </pre>
                </div>              
                <h4>結(jié)果:</h4>
                <div id="navDict" class="result"></div>
                <hr />
                <script>
                    //navigator屬性
                    var navDict = {
                        "appCodeName":window.navigator.appCodeName,
                        "appName":navigator.appName,
                        "appVersion":navigator.appVersion,
                        "cookieEnabled":navigator.cookieEnabled,
                        "platform":navigator.platform,
                        "userAgent":navigator.userAgent,
                        "systemLanguage":navigator.systemLanguage,
                    }
                    
                    objDisplay("navDict",navDict);
                </script>
            </li>               
        </ul>       
    </body>
</html>
image.png

  • PopupAlert 消息框

  1. JavaScript中消息框有三種:警告框,確認(rèn)框,提示框;
  2. 警告框alert(),警告框攜帶信息彈出,需點(diǎn)擊"確認(rèn)"按鈕后,才能繼續(xù)進(jìn)行下一步操作;
  3. 確認(rèn)框confirm(),確認(rèn)框攜帶信息彈出,點(diǎn)擊"確認(rèn)"按鈕后返回true,點(diǎn)擊"取消"按鈕后返回false
  4. 提示框prompt(),提示框攜帶信息彈出,且要求用戶輸入內(nèi)容,若未輸入或點(diǎn)擊"取消"按鈕,則返回null,若輸入且點(diǎn)擊"確定"按鈕,則返回輸入值
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .code{
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            pre{
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            .result{
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
            }
            ul li h3{
                color: red;
            }
            button{
                background-color: blueviolet;
                color: white;
                border: 2px solid plum;
                border-radius: 2em;
                padding: 0.5em;
                margin: 0.5em;
            }
            button:focus{
                color: bisque;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>
                <h3>PopupAlert</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    &lt;button name="alert" onclick="alert('Hello World !')"&gt;Alert&lt;/button&gt;
                    &lt;button name="confirm" onclick="confirmResult()"&gt;Confirm&lt;/button&gt;
                    &lt;button name="prompt" onclick="promptResult()"&gt;Prompt&lt;/button&gt;
                    </pre>
                </div>
                <h4>結(jié)果:</h4>
                <div class="result">
                    <button name="alert" onclick="alert('Hello World !')">Alert</button>
                    <button name="confirm" onclick="confirmResult()">Confirm</button>
                    <button name="prompt" onclick="promptResult()">Prompt</button>
                </div>
                <div class="result">
                    <p id="confirmRes">顯示Confirm按鈕點(diǎn)擊后的結(jié)果!</p>
                    <p id="promptRes">顯示Prompt按鈕點(diǎn)擊后輸入的結(jié)果!</p>
                </div>
            </li>
            <hr />
            <script>
                function confirmResult(){
                    var result = confirm("Continue ?");
                    document.getElementById("confirmRes").innerHTML = result;
                }
                function promptResult(){
                    var result = prompt("Please input the infomation !");
                    document.getElementById("promptRes").innerHTML = result;
                }
            </script>
        </ul>
    </body>
</html>
test27.gif

  • timing 計(jì)時(shí)

  1. setTimeout(),定時(shí)任務(wù),在多長(zhǎng)時(shí)間后,執(zhí)行一次,只執(zhí)行一次;
  2. clearTimeout(),清除定時(shí)任務(wù).
  3. setInterval(),重復(fù)任務(wù),每隔多長(zhǎng)時(shí)間,就執(zhí)行一次,重復(fù)執(zhí)行;
  4. clearInterval(),清除重復(fù)任務(wù).
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .code {
                color: gray;
                border: 1px solid gainsboro;
                font-size: 15px;
            }
            
            pre {
                margin: 1em 0em 1em -19em;
                font-family: "楷體";
            }
            
            .result {
                color: gray;
                background-color: ghostwhite;
                font-size: 16px;
            }
            
            ul li h3 {
                color: red;
            }
            
            button {
                background-color: blueviolet;
                color: white;
                border: 2px solid plum;
                border-radius: 2em;
                padding: 0.5em;
                margin: 0.5em;
            }
            
            button:focus {
                color: bisque;
            }
        </style>
    </head>

    <body>
        <ul>
            <li>
                <h3>timing</h3>
                <h4>代碼:</h4>
                <div class="code">
                    <pre>
                    //定義全局變量
                    var initDate = "";
                    var nowDateAll = "";

                    //時(shí)鐘
                    function dateDisRef() {
                        var now = new Date(); //定義當(dāng)前時(shí)間
                        var dateAll = "";
                        //定義時(shí)間字典
                        var dateDict = {
                            "year": now.getFullYear(),
                            "month": now.getMonth() + 1,
                            "day": now.getDate(),
                            "hours": now.getHours(),
                            "minutes": now.getMinutes(),
                            "seconds": now.getSeconds()
                        }
                        //格式校驗(yàn),不足十的,在前方補(bǔ)0
                        function checkDate(dateTime, dateDict) {
                            if(dateDict[dateTime] < 10) {
                                dateDict[dateTime] = "0" + dateDict[dateTime];
                            }
                        }
                        //日期展示
                        for(dateTime in dateDict) {
                            checkDate(dateTime, dateDict);
                            switch(dateTime) {
                                case "year":
                                case "month":
                                    dateAll += (dateDict[dateTime] + "-");
                                    break;
                                case "hours":
                                case "minutes":
                                    dateAll += (dateDict[dateTime] + ":");
                                    break;
                                case "day":
                                    dateAll += (dateDict[dateTime] + " ");
                                    break;
                                case "seconds":
                                    dateAll += dateDict[dateTime];
                                default:
                                    break;
                            }
                        }
                        document.getElementById("dateDis").innerHTML = dateAll;
                        nowDateAll = dateAll;
                        //只設(shè)置一次
                        if(initDate == "") {
                            //替換第一個(gè)空格為T,用來設(shè)置日歷默認(rèn)時(shí)間
                            initDate = dateAll.replace(" ", "T");
                        }
                        //定時(shí)任務(wù),等待500ms,執(zhí)行dateDisRef()方法,調(diào)用后再次等待500ms,再會(huì)進(jìn)行下次調(diào)用,故刷新頻率為1s
                        var timeOut = setTimeout('dateDisRef()', 500);
                    }
                    //調(diào)用方法
                    dateDisRef();

                    //設(shè)置日歷默認(rèn)時(shí)間為當(dāng)前時(shí)間
                    document.getElementById("initDate").value = initDate;

                    //倒計(jì)時(shí)
                    var interval;

                    function timing() {
                        //獲得日歷時(shí)間,并進(jìn)行格式轉(zhuǎn)換
                        var calendarTime = document.getElementById("initDate").value.toString();
                        //進(jìn)行同時(shí)區(qū)時(shí)間設(shè)置(防止時(shí)差問題,導(dǎo)致時(shí)間差錯(cuò)誤),均設(shè)置為標(biāo)準(zhǔn)時(shí)區(qū)
                        var calendarDate = new Date(calendarTime + "Z");
                        //動(dòng)態(tài)獲取當(dāng)前時(shí)間
                        var nowDate = new Date(nowDateAll + "Z");
                        //將時(shí)間差轉(zhuǎn)化為s
                        var dateMius = (calendarDate - nowDate) / 1000;
                        //清除重復(fù)任務(wù),防止生成多個(gè)
                        clearInterval(interval);
                        //定義重復(fù)任務(wù),時(shí)間間隔1s
                        interval = setInterval(function() {
                            dateMius--;
                            var timingEle = document.getElementById("timing");
                            if(dateMius == 0) {
                                timingEle.innerHTML = "倒計(jì)時(shí)結(jié)束!";
                                timingEle.style.color = "red";
                                clearInterval(interval);
                            } else {
                                if(timingEle.style.color == "red") timingEle.style.color = "gray";
                                timingEle.innerHTML = dateMius + " S";
                            }
                        }, 1000);
                    }
                    </pre>
                </div>
                <h4>結(jié)果:</h4>
                <div class="result">
                    <p id="dateDis"></p>
                </div>
                <div class="result">
                    <input type="datetime-local" id="initDate" onchange="timing()" />
                    <p id="timing"></p>
                </div>
                <script>
                    //定義全局變量
                    var initDate = "";
                    var nowDateAll = "";

                    //時(shí)鐘
                    function dateDisRef() {
                        var now = new Date(); //定義當(dāng)前時(shí)間
                        var dateAll = "";
                        //定義時(shí)間字典
                        var dateDict = {
                            "year": now.getFullYear(),
                            "month": now.getMonth() + 1,
                            "day": now.getDate(),
                            "hours": now.getHours(),
                            "minutes": now.getMinutes(),
                            "seconds": now.getSeconds()
                        }
                        //格式校驗(yàn),不足十的,在前方補(bǔ)0
                        function checkDate(dateTime, dateDict) {
                            if(dateDict[dateTime] < 10) {
                                dateDict[dateTime] = "0" + dateDict[dateTime];
                            }
                        }
                        //日期展示
                        for(dateTime in dateDict) {
                            checkDate(dateTime, dateDict);
                            switch(dateTime) {
                                case "year":
                                case "month":
                                    dateAll += (dateDict[dateTime] + "-");
                                    break;
                                case "hours":
                                case "minutes":
                                    dateAll += (dateDict[dateTime] + ":");
                                    break;
                                case "day":
                                    dateAll += (dateDict[dateTime] + " ");
                                    break;
                                case "seconds":
                                    dateAll += dateDict[dateTime];
                                default:
                                    break;
                            }
                        }
                        document.getElementById("dateDis").innerHTML = dateAll;
                        nowDateAll = dateAll;
                        //只設(shè)置一次
                        if(initDate == "") {
                            //替換第一個(gè)空格為T,用來設(shè)置日歷默認(rèn)時(shí)間
                            initDate = dateAll.replace(" ", "T");
                        }
                        //定時(shí)任務(wù),等待500ms,執(zhí)行dateDisRef()方法,調(diào)用后再次等待500ms,再會(huì)進(jìn)行下次調(diào)用,故刷新頻率為1s
                        var timeOut = setTimeout('dateDisRef()', 500);
                    }
                    //調(diào)用方法
                    dateDisRef();

                    //設(shè)置日歷默認(rèn)時(shí)間為當(dāng)前時(shí)間
                    document.getElementById("initDate").value = initDate;

                    //倒計(jì)時(shí)
                    var interval;

                    function timing() {
                        //獲得日歷時(shí)間,并進(jìn)行格式轉(zhuǎn)換
                        var calendarTime = document.getElementById("initDate").value.toString();
                        //進(jìn)行同時(shí)區(qū)時(shí)間設(shè)置(防止時(shí)差問題,導(dǎo)致時(shí)間差錯(cuò)誤),均設(shè)置為標(biāo)準(zhǔn)時(shí)區(qū)
                        var calendarDate = new Date(calendarTime + "Z");
                        //動(dòng)態(tài)獲取當(dāng)前時(shí)間
                        var nowDate = new Date(nowDateAll + "Z");
                        //將時(shí)間差轉(zhuǎn)化為s
                        var dateMius = (calendarDate - nowDate) / 1000;
                        //清除重復(fù)任務(wù),防止生成多個(gè)
                        clearInterval(interval);
                        //定義重復(fù)任務(wù),時(shí)間間隔1s
                        interval = setInterval(function() {
                            dateMius--;
                            var timingEle = document.getElementById("timing");
                            if(dateMius == 0) {
                                timingEle.innerHTML = "倒計(jì)時(shí)結(jié)束!";
                                timingEle.style.color = "red";
                                clearInterval(interval);
                            } else {
                                if(timingEle.style.color == "red") timingEle.style.color = "gray";
                                timingEle.innerHTML = dateMius + " S";
                            }
                        }, 1000);
                    }
                </script>
            </li>
            <hr />
        </ul>
    </body>

</html>
image.png
test28.gif

  • cookie

  1. cookie 是存儲(chǔ)于訪問者的計(jì)算機(jī)中的變量潘明。每當(dāng)同一臺(tái)計(jì)算機(jī)通過瀏覽器請(qǐng)求某個(gè)頁(yè)面時(shí),就會(huì)發(fā)送這個(gè) cookie
  2. 名字 cookie
    當(dāng)訪問者首次訪問頁(yè)面時(shí)秕噪,他或她也許會(huì)填寫他/她們的名字钳降。名字會(huì)存儲(chǔ)于 cookie 中。當(dāng)訪問者再次訪問網(wǎng)站時(shí)腌巾,他們會(huì)收到類似 "Welcome John Doe!" 的歡迎詞遂填。而名字則是從 cookie 中取回的。
    密碼 cookie
    當(dāng)訪問者首次訪問頁(yè)面時(shí)澈蝙,他或她也許會(huì)填寫他/她們的密碼吓坚。密碼也可被存儲(chǔ)于 cookie 中。當(dāng)他們?cè)俅卧L問網(wǎng)站時(shí)灯荧,密碼就會(huì)從 cookie 中取回礁击。
    日期 cookie
    當(dāng)訪問者首次訪問你的網(wǎng)站時(shí),當(dāng)前的日期可存儲(chǔ)于 cookie 中漏麦。當(dāng)他們?cè)俅卧L問網(wǎng)站時(shí)客税,他們會(huì)收到類似這樣的一條消息:"Your last visit was on Tuesday August 11, 2005!"况褪。日期也是從 cookie 中取回的撕贞。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body onload="checkCookie()">
        <script>
            //設(shè)置cookie
            function setCookies(name,value,expiredays){
                var exdate = new Date();
                //設(shè)置失效日期
                exdate.setDate(exdate.getDate()+expiredays);
                //設(shè)置cookie格式 name=value;expires=exdate
                //escape()用來編碼字符串 toGMTString()此日期會(huì)在轉(zhuǎn)換為字符串之前由本地時(shí)區(qū)轉(zhuǎn)換為 GMT時(shí)區(qū)
                document.cookie=name+"="+escape(value)+((expiredays==null)?"":(";expires="+exdate.toGMTString()));
            }
            
            //獲取cookie
            function getCookies(name){
                //判斷cookie的長(zhǎng)度
                if(document.cookie.length>0){
                    //獲取要獲取cookie的起始位置
                    start = document.cookie.indexOf(name+"=");
                    //判斷indexOf()搜索結(jié)果,無結(jié)果時(shí)為-1
                    if(start!=-1){
                        start = start+name.length+1;//設(shè)置起始值為=的位置
                        end = document.cookie.indexOf(";",start);//從起始值搜索到名字的結(jié)束
                        if(end==-1) end=document.cookie.length;//無失效日期,則取到尾
                        return unescape(document.cookie.substring(start,end));//解碼截取的子字符串
                    }
                }
                return "";
            }
            
            //檢查是否設(shè)置了cookie
            function checkCookie(){
                usrName = getCookies("usrName");//獲取usrCookie
                //不為空彈出歡迎框
                if(usrName!=null && usrName!=""){
                    alert("Welcome again "+usrName+" !");
                }else{
                    //為空則彈出消息框,提示用戶輸入名字,并設(shè)置cookie
                    usrName=prompt("Please enter your name :","");
                    if(usrName!=null&&usrName!=""){
                        setCookies("usrName",usrName,30);
                    }
                }
            }
        </script>
    </body>
</html>              
test29.gif

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市测垛,隨后出現(xiàn)的幾起案子捏膨,更是在濱河造成了極大的恐慌,老刑警劉巖食侮,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件号涯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡锯七,警方通過查閱死者的電腦和手機(jī)链快,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來眉尸,“玉大人域蜗,你說我怎么就攤上這事≡牖” “怎么了霉祸?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)袱蜡。 經(jīng)常有香客問我丝蹭,道長(zhǎng),這世上最難降的妖魔是什么坪蚁? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任奔穿,我火速辦了婚禮镜沽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贱田。我一直安慰自己淘邻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布湘换。 她就那樣靜靜地躺著宾舅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪彩倚。 梳的紋絲不亂的頭發(fā)上筹我,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音帆离,去河邊找鬼蔬蕊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛哥谷,可吹牛的內(nèi)容都是我干的岸夯。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼们妥,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼猜扮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起监婶,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤旅赢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后惑惶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體煮盼,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年带污,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了僵控。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鱼冀,死狀恐怖报破,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情雷绢,我是刑警寧澤泛烙,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站翘紊,受9級(jí)特大地震影響蔽氨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肪虎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一蜘澜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧步势,春花似錦自赔、人聲如沸妈嘹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)润脸。三九已至,卻和暖如春他去,著一層夾襖步出監(jiān)牢的瞬間毙驯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工灾测, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爆价,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓媳搪,卻偏偏與公主長(zhǎng)得像铭段,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秦爆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程序愚,因...
    小菜c閱讀 6,377評(píng)論 0 17
  • JavaScript Window - 瀏覽器對(duì)象模型 瀏覽器對(duì)象模型 (BOM) 使 JavaScript 有能...
    hx永恒之戀閱讀 450評(píng)論 0 3
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)鲜结、<...
    clark124閱讀 3,462評(píng)論 1 19
  • 因?yàn)闆]有找到現(xiàn)成資源精刷,我在斷崖式渣網(wǎng)的摧殘下,下了一天終于能看了蔗候,作為印度出品怒允,里頭自然少不了載歌載舞,跳脫...
    茫茫人海ol閱讀 487評(píng)論 0 0
  • 《魔鬼經(jīng)濟(jì)學(xué)》2 史蒂夫 都伯納 史蒂夫 列維特 激勵(lì)制度的四種誘因 1.經(jīng)濟(jì)動(dòng)機(jī) 錢 2.道德動(dòng)機(jī) 讓自己...
    宮曉杰閱讀 239評(píng)論 0 0