web - day2

1.百度的延時(shí)跳轉(zhuǎn)

arguments是函數(shù)中的隱含對(duì)象[index]
arguments.callee---代表正在被調(diào)用的函數(shù)
window.location.href - 返回完整的URL

/*  例子:
        function add(){
            // 對(duì)象--偽數(shù)組
    window.alert(arguments.callee)
            return arguments[0] + arguments[1]
        }
        window.alert(add(1,2))
        */              
# 5秒之后會(huì)跳轉(zhuǎn)到百度頁面
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <h3><span id="counter">5</span>秒鐘以后跳到百度去</h3>
        <script type="text/javascript">
        /*  
        function add(){
            // 對(duì)象--偽數(shù)組
            window.alert(arguments.callee)
            return arguments[0] + arguments[1]
        }
        
        window.alert(add(1,2))
        */              
            var countDown = 5;
            var span = document.getElementById('counter')
            window.setTimeout(function(){
                countDown -= 1;
                if(countDown==0){
                    window.location.;
                }else{
                    span.textContent = countDown;
                    // arguments是函數(shù)中的隱含對(duì)象
                    // arguments.callee---代表正在被調(diào)用的函數(shù)
                    window.setTimeout(arguments.callee,1000);
                }
                
            } , 1000);
            
        </script>
    </body>
</html>

2.廣告的切換

通過document對(duì)象獲取頁面元素的常用方法有5個(gè):
document.getElementById('') ==>通過ID獲取單個(gè)元素
document.getElementsByTagName('')[]==>通過標(biāo)簽名獲取元素的列表
document.getElementsByClassName('')[]==>通過類名獲取元素的列表
document.querySelector('')==>通過樣式表選擇器獲取單個(gè)元素
document.querySelectorAll('')==>通過樣式表選擇器獲取的列表
document.querySelectorAll('')[]==>通過樣式表選擇器獲取的列表

setInterval()-按照指定的周期(以毫秒計(jì))來調(diào)用函數(shù)或計(jì)算表達(dá)式墅拭。
setTimeout()-在指定的毫秒數(shù)后調(diào)用函數(shù)或計(jì)算表達(dá)式。
clearInterval()-顯示當(dāng)前時(shí)間 ( setInterval() 函數(shù)會(huì)每秒執(zhí)行一次函數(shù)涣狗,類似手表)谍婉。使用 clearInterval() 來停止執(zhí)行;clearInterval() 方法的參數(shù)必須是由 setInterval() 返回的 ID 值

#每過2S會(huì)切換圖片
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            div{
                width: 705px;
            }
        </style>
    </head>
    <body>
        <div id="adv">
            <img src="img/4.jpg" >
        </div>
        <script>
            
            var index = 0;
            var images = ["4.jpg","5.jpg","6.jpg","7.jpg"];
            
            var img = document.querySelector('img')
            // var img = document.getElementsByTagName('img')[0];
            var timerId;
            
            startIt();
            
            var div = document.querySelector('#adv');
            div.addEventListener('mouseover', stopIt);
            div.addEventListener('mouseout',startIt);
            
            function startIt(){
                    timerId = window.setInterval(function(){
                    index += 1;
                    index %= images.length;
                    img.src = 'img/' + images[index]
                },2000);                
            }           
            function stopIt(){
                window.clearInterval(timerId);
            }       
                    
        </script>
            
    </body>
</html>

3.標(biāo)簽的綁定事件

當(dāng)你知道事件發(fā)生時(shí)要做什么,但是你不知道事件什么時(shí)候發(fā)生
在這種情況下通常的處理方式都是綁定一個(gè)事件回調(diào)函數(shù)(callback)
closeWindow以及下面的匿名函數(shù)都屬于事件發(fā)生時(shí)才執(zhí)行的回調(diào)函數(shù)

# 給標(biāo)簽綁定事件
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <button id="ok">確定</button>
        <script type="text/javascript">
            
            // 給okButton綁定click事件的回調(diào)函數(shù)
            function closeWindow(){
            if(window.confirm('Clolse the window?')){
                window.close();
                }   
            }   

            // okButton.addEventListener('click',closeWindow)
                        
            var okButton = document.querySelector('#ok')
            okButton.addEventListener('click', function(){
                // window可以去掉,默認(rèn)對(duì)象就是window
                window.alert('hello world!')
                // 移除事件
                okButton.removeEventListener('click',arguments.callee)
                // okButton.removeEventListener('click',closeWindow)
            });
    
            /*
            okButton.onclick = function(){
                window.alert('hello,world!');
            };          
            function showInfo(){
                window.alert('hello,world!');
            };
            okButton.onclick = showInfo;
            */         
        </script>
        
        
    </body>
</html>

4.事件的冒泡處理

// addEventListener方法的第一個(gè)參數(shù)是事件名
// 第二個(gè)參數(shù)是事件發(fā)生時(shí)需要執(zhí)行的回調(diào)函數(shù)
// 第三個(gè)參數(shù)是一個(gè)布爾值
// 如果是true 表示事件捕獲 - 從外層向內(nèi)層傳遞事件
// 如果是false 表示事件冒泡 - 從內(nèi)層向外層傳遞事件
// 一般情況下 我們事件處理的方式都是事件冒泡(默認(rèn)行為)
// 如果想阻止事件的傳播行為可以調(diào)用事件對(duì)象的stopPropagation方法

#點(diǎn)擊子標(biāo)簽會(huì)一級(jí)一級(jí)向上傳遞事件
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <style type="text/css">
            #d1{
                height: 400px;
                width: 400px;
                background-color: red;  
                margin: 60px auto;                      
            }
            #d2{
                height: 300px;
                width: 300px;
                background-color: blue;
                
            }
            #d3{
                height: 200px;
                width: 200px;
                background-color:yellow;                
            }
            #d2,#d3{
                position: relative;
                left: 50px;
                top:50px
            }
        </style>                        
    </head>
    <body>
        <div id="d1">
            <div id="d2">
                <div id="d3"></div>
            </div>
        </div>
        <script>
            var d1 = document.querySelector('#d1')
            var d2 = document.querySelector('#d2')
            var d3 = document.querySelector('#d3')

            d1.addEventListener('click',function(){
                window.alert('I am d1!')
            })
            d2.addEventListener('click',function(){
                window.alert('I am d2')
            })
            // 事件回調(diào)函數(shù)中的第一個(gè)參數(shù)就是事件對(duì)象(封裝了和事件相關(guān)的信息)
            d3.addEventListener('click',function(evt){
                window.alert('I am d3')
                evt.stopPropagation();
            })
            
            
            
            
        </script>
            
        
        
    </body>
</html>

5.按鈕顯示事件

#選中按鈕后會(huì)產(chǎn)生相應(yīng)的事件(背景顏色改變)
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <style type="text/css">
            div button{
                width: 85px;
                height: 40px;
                background-color: #FF0000;
                color: antiquewhite;
                outline: none;
                border: 0;
                margin: 20px;
            }
        </style>
    </head>
    <body>
        <div id="buttons">
            <button ><input type="checkbox"/>獅子</button>
            <button ><input type="checkbox"/>老虎</button>
            <button ><input type="checkbox"/>老鼠</button>
            <button ><input type="checkbox"/>老鷹</button>
            <button ><input type="checkbox"/>海豚</button>
            <button ><input type="checkbox"/>海馬</button>
            <button ><input type="checkbox"/>大象</button>
            <button ><input type="checkbox"/>獵豹</button>
            <button ><input type="checkbox"/>刺猬</button>
            <button ><input type="checkbox"/>螞蟻</button>
            
        </div>
        <script>
            var buttons = document.querySelectorAll('#buttons>button');
            for (var i = 0; i < buttons.length; i += 1){
                buttons[i].firstChild.addEventListener('click' , function(evt){
                    var checkbox = evt.target || evt.srcElement;
                    if(checkbox.checked){
                        checkbox.parentNode.style.backgroundColor = 'lightseagreen';
                    }else{
                        checkbox.parentNode.style.backgroundColor = 'red';
                    }
                    
                    evt.stopPropagation();
                    });
                    buttons[i].addEventListener('click', function(evt){
                        var button = evt.target || evt.srcElement;
                        var checkbox = button.firstChild;
                        checkbox.checked = ! checkbox.checked;
                        if(checkbox.checked){
                            checkbox.parentNode.style.backgroundColor = 'lightseagreen';
                        }else{
                            checkbox.parentNode.style.backgroundColor = 'red';
                        }
                    });
                }
                    // window.alert('你選中了' + evt.target.textContent);
                    
                    /*瀏覽器兼容性處理
                    通過事件對(duì)象的target屬性可以獲取事件源(誰引發(fā)了事件)
                    但是有的瀏覽器是通過srcElement屬性獲取事件源的
                    可以通過短路或運(yùn)算來解決這個(gè)兼容性問題
                    var button = evt.target || evt.srcElement;
                    window.alert('你選中了' + button.textContent);
                    */
                   
                   /*
                   當(dāng)獲取到一個(gè)元素只會(huì)可以通過它的屬性來獲取他的父元素、子元素和兄弟元素
                   parentNode - 父元素
                   firstChild/lastChild/children - 第一個(gè)元素/最后一個(gè)元素/所有的元素
                   previousSibling / nextSibiling - 前一個(gè)兄弟元素 / 后一個(gè)兄弟元素
                   */
                  
                
            
            
            
        </script>
        
    </body>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末镀钓,一起剝皮案震驚了整個(gè)濱河市穗熬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丁溅,老刑警劉巖唤蔗,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡妓柜,警方通過查閱死者的電腦和手機(jī)箱季,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棍掐,“玉大人藏雏,你說我怎么就攤上這事∽骰停” “怎么了诉稍?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)最疆。 經(jīng)常有香客問我,道長(zhǎng)蚤告,這世上最難降的妖魔是什么努酸? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮杜恰,結(jié)果婚禮上获诈,老公的妹妹穿的比我還像新娘。我一直安慰自己心褐,他們只是感情好舔涎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逗爹,像睡著了一般亡嫌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掘而,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天挟冠,我揣著相機(jī)與錄音,去河邊找鬼袍睡。 笑死知染,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斑胜。 我是一名探鬼主播控淡,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼止潘!你這毒婦竟也來了掺炭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤覆山,失蹤者是張志新(化名)和其女友劉穎竹伸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勋篓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年吧享,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片譬嚣。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钢颂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拜银,到底是詐尸還是另有隱情殊鞭,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布尼桶,位于F島的核電站操灿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泵督。R本人自食惡果不足惜趾盐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望小腊。 院中可真熱鬧救鲤,春花似錦、人聲如沸秩冈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽入问。三九已至丹锹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間队他,已是汗流浹背卷仑。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麸折,地道東北人锡凝。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像垢啼,于是被迫代替她去往敵國和親窜锯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,124評(píng)論 0 21
  • 函數(shù)和對(duì)象 1芭析、函數(shù) 1.1 函數(shù)概述 函數(shù)對(duì)于任何一門語言來說都是核心的概念锚扎。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,556評(píng)論 0 5
  • ??JavaScript 與 HTML 之間的交互是通過事件實(shí)現(xiàn)的芍秆。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,490評(píng)論 1 11
  • ??JavaScript 是一種極其靈活的語言,具有多種使用風(fēng)格对碌。 ??一般來說荆虱,編寫 JavaScript 要么...
    霜天曉閱讀 744評(píng)論 0 0
  • 原網(wǎng)頁:iOS百川組件說明 1.打包體積說明 目前我們給的壓縮包,是包含全部功能的.使用方可以根據(jù)需要裁剪.必選組...
    Hesse_Huang閱讀 2,228評(píng)論 0 1