<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【JavaScript從入門到精通】第一課 初探JavaScript魅力-01

      第一課 初探JavaScript魅力-01 

       

      JavaScript是什么

       

      如今我們打開一個大型的網(wǎng)站,都會有很多JS效果的功能和應用。對于學過CSS+HTML的同學,即使是像淘寶那樣的網(wǎng)站,用一兩天時間也可以將布局寫出來。但對于一個網(wǎng)頁來說,除去CSS,HTML這樣描述靜態(tài)布局的元素外,還有諸如彈窗,幻燈,編輯等很難用純粹的CSS+HTML實現(xiàn)的功能,而這些都是通過JavaScript來完成。

       

      那么JavaScript究竟是什么呢?對比HTML+CSS這兩者只能制作觀看難以交互(雖然可以通過hover偽類進行交互但功能有限)的靜態(tài)網(wǎng)頁而言,我們給Javascript進行如下定義:

       

      JavaScript是一門用于給網(wǎng)頁添加功能、交互的腳本語言。

       

      我們以百度首頁登錄框為例,實際上我們打開百度首頁的時候,登錄框就已經包含在了網(wǎng)頁代碼中。在我們點擊登錄之前,登錄框css的display屬性為none;而當我們點擊之后,其display屬性變?yōu)榱薭lock,從而就顯示了出來——這個過程便是由JS控制的。淘寶的幻燈效果也是同理,我們通過鼠標移動到不同的元素來改變元素的背景顏色(background-colr)和文字顏色(color)。

       

      第一個JS特效 鼠標提示框

       

       

       

      如上圖126郵箱十天免登陸的提示,當我們將鼠標移動到框上時,會出現(xiàn)相應的文字提示,當鼠標移開時,對應的文字提示消失。我們將模仿它寫一個鼠標提示框。該功能的具體實現(xiàn)是:當鼠標移入到框上的時候,讓該div顯示,鼠標移出框的時候,讓該div隱藏。

       

      到這里,不得不補充一個JS里非常重要的一個概念:事件。這里我們以第一個JS事件:onclick事件為例說明。

       

      在html中包含以下代碼:

      <input type="button" value="按鈕" />

       

       

      這樣會相應生成一個按鈕,但點擊無效,因為按鈕本身并沒有任何功能,因此我們要向按鈕增加onclick事件來實現(xiàn)功能。onclick事件所代表的含義是當元素被點擊時,該事件實現(xiàn)。

       

      將上方代碼改為:

      <input type="button" value="按鈕" onclick="alert('zcvzxcvzx')"/>

       

       

      當我們再點擊按鈕時,便會激活onclick事件,彈出彈框。

       

       

      簡單來說,事件就是用戶的操作。用戶操作分為很多,對于按鈕來說有點擊,以及我們待會會用到的鼠標移入,鼠標移出等等。將來我們會遇到更多的事件,這里不再贅述,以后慢慢說。

       

      回到我們的第一個JS特效中來。為了實現(xiàn):鼠標移入到checkbox的時候,讓div顯示,鼠標移出checkbox的時候,讓div隱藏這樣的效果,我們引入兩個新的事件:onmouseover和onmouseout。如果你懂英文的話,很容易就明白,前者是指鼠標移入元素時觸發(fā)的事件,后者是鼠標移開元素時觸發(fā)的事件。

       

      現(xiàn)在我們來分析,如何讓鼠標移入到input的時候,讓div1顯示呢?其實就是當鼠標移入到input上時,將其display屬性改為block。那么,這句話應該如何用JS來寫呢?答案是這樣的:

      <input type="checkbox" onmouseover="div1.style.display='block';"/>
      <div id="div1">
      為了您的信息安全。。。。
      </div>

       

      我們將div1.style.display='block'這句話拿出來仔細分析。首先,div1是div的id,代表了選擇了該div。其次,.代表的是什么含義呢?.類似于漢語的“的”,表示所屬關系。等號在JS里并不是相等的意思,而是賦值(把等號右邊的東西賦給左邊)。所以這句話的意思就是div1的style(樣式)里的display屬性賦值為block。因此,當我們將鼠標移動到checkbox上后,便會觸發(fā)onmouserover事件,將div1顯示出來。同理,通過onmouseout事件可以在鼠標離開時將div1隱藏。

       

      完整的代碼如下:

       

      <html>
        <head>
          <meta charset="utf-8" />
          <title>無標題文檔</title>
          <style>
            #div1{
              width:200px;
              height: 100px;
              background: #CCC;
              border: 1px solid #999;
              display: none; 
            }
          </style>
        </head>
        <body>
          <input type="checkbox" onmouseover="div1.style.display='block';" onmouseout="div1.style.display='none';" />
          <div id="div1">
            為了您的信息安全。。。。
          </div>
        </body>
      </html>

       

      實現(xiàn)的效果如下:

       

       

      不兼容問題

       

      我們已經學會了寫一個最簡單的JS小程序,但它存在一些小問題。在chrome和IE瀏覽器下,它能很好地運行,但如果使用火狐瀏覽器,你會驚訝的發(fā)現(xiàn)程序沒有反應。在錯誤控制臺中我們可以看到,錯誤提示為“div1 is not defined”,即div1沒有被定義。 

       

      你或許會覺得奇怪,為什么說div1沒有被定義呢?原因是在JS里,直接使用ID進行元素選擇是不兼容的(火狐或者低版本的chrome),我們應該采用更加兼容的寫法:document.getElementById()

       

      因此我們可以將上面的代碼進行改寫:

       

      <input type="checkbox" onmouseover="getElementById('div1').style.display='block';" onmouseout="getElementById('div1').style.display='none';" />

       

      getElementById的意思是通過id來獲取元素,在本例中即通過getElementById獲取了div1的元素來使用,這樣在任何瀏覽器下都不會產生兼容性問題了。

       

      初識函數(shù) 

       

      提起函數(shù)大家想到的應該首先是數(shù)學里的函數(shù),不過JS里的函數(shù)和數(shù)學函數(shù)的關系并不是很大。我們用一個簡單的小東西來闡述什么是JS里的函數(shù)。

       

      現(xiàn)在我們向網(wǎng)頁添加一個框,其寬為200px,高也為200px,背景為紅色。同時我們希望當我們的鼠標移動到框上時,其寬高變?yōu)?00px,背景變?yōu)榫G色。利用我們前面所學到的知識我們可以解決這個問題,代碼如下:

      <html>
        <head>
          <meta charset="utf-8" />
          <title>
      無標題文檔
          </title>
          <style>
            #div1{
              width:200px;
              height: 200px;
              background: red;
            }9
          </style>
        </head>
        <body>
          <div id="div1" onmouseover="document.getElementById('div1').style.width='300px';document.getElementById('div1').style.height='300px';document.getElementById('div1').style.background='green';"onmouseout="document.getElementById('div1').style.width='200px';document.getElementById('div1').style.height='200px';document.getElementById('div1').style.background='red';">
          </div>
        </body>
      </html>

       

      實現(xiàn)的效果如下:

      顯而易見的是,雖然完成了功能,但這樣的代碼無論編寫還是查看都太惡心了。還記得,我們寫css很少把這么多的樣式寫在行間而是選擇寫在樣式表里,JS也同樣,通常可以通過函數(shù)的方式將代碼簡潔化。

       

      JS的函數(shù)的最基本格式為:function+函數(shù)名+(){},()內為參數(shù)(可以不寫,暫時不用管),{}內為函數(shù)體。

       

      因此,我們通過函數(shù)將上方的代碼進行改造:

      <html>
        <head>
          <meta charset="utf-8">
          <title>無標題文檔</title>
          <style>
            #div1 {
              width:200px;
              height:200px;
              background:red;
            }
          </style>
          <script>
            function toGreen()
            {   
              document.getElementById('div1').style.width='300px';
              document.getElementById('div1').style.height='300px';
              document.getElementById('div1').style.background='green';
            }
            function toRed()
            {
              document.getElementById('div1').style.width='200px';
              document.getElementById('div1').style.height='200px';
              document.getElementById('div1').style.background='red';
            }
          </script>
        </head>
        <body>
          <div id="div1" onmouseover="toGreen()" onmouseout="toRed()">
          </div>
        </body>
      </html>

       

      將函數(shù)寫在script標簽中,然后將行內的代碼寫在函數(shù)里,行內只使用函數(shù)名調用函數(shù),這樣比之前顯得更簡潔。

       

      此外,在寫css的時候,我們普遍有一個小小的習慣叫重用,即相同的代碼盡可能只寫一次。在JS里,同樣應當遵循這樣的規(guī)則。在上面的例子中,document.getElementById('div1')這一段被重復使用了多次,我們可以通過引入一個新的概念:變量將他們進行合并,我們將在下一課進行細講。

      posted @ 2017-10-23 16:36  igeekbar  閱讀(327)  評論(0)    收藏  舉報

      中文互聯(lián): GBin1.com | RSS訂閱 | 郵件訂閱 | 手機訂閱

      主站蜘蛛池模板: 久久久久影院色老大2020| 亚洲最大在线精品| 绵竹市| 熟女一区| 国产亚洲精品VA片在线播放| 在办公室被c到呻吟的动态图| 在线国产精品中文字幕| 亚洲人成电影网站色mp4| 欧美成人www免费全部网站| 疯狂做受xxxx高潮视频免费| 欧洲免费一区二区三区视频| 临海市| 熟女少妇精品一区二区| 老司机aⅴ在线精品导航| 九九成人免费视频| 内射一区二区三区四区| 亚洲电影在线观看| 国产熟女老阿姨毛片看爽爽| 亚洲性线免费观看视频成熟| 女高中生自慰污污网站| 国产99久久精品一区二区| 国产成人精彩在线视频| 亚洲国内精品一区二区| 国产精品大全中文字幕| 那曲县| 久青草国产在视频在线观看| 精品三级在线| 国产伦精品一区二区三区妓女| 日韩一区二区三在线观看| 久久精品国产久精国产果冻传媒| 成在线人永久免费视频播放| 老熟妇仑乱一区二区视頻| 午夜国产福利片在线观看| 成人3d动漫一区二区三区| 亚洲人成电影在线天堂色| 麻豆精品一区二区综合av| 国产激情一区二区三区午夜| 国产精品麻豆中文字幕| 日韩欧美亚洲综合久久| 精品国产亚洲av麻豆特色| 精品免费国产一区二区三区四区介绍 |