整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript面試題12-瀏覽器是如何渲染頁面的?

          覽器渲染頁面有以下幾個步驟:

          1. 當瀏覽器的網絡進程接收到 HTML文檔后,會開啟一個渲染任務,并將其傳遞給渲染主線程的消息隊列。
          2. 在事件循環機制的作用下,渲染主線程會取出消息隊列中的渲染任務,開啟渲染流程。
          3. 整個的渲染流程分為多個階段,分別是:HTML 解析、樣式計算、布局、分層、繪制、分塊、光柵化、畫;
          4. 每個階段都有明確的輸入和輸出、上一個階段的輸出會成為下一個階段的輸入;這樣一來,整個渲染流程就形成了一套組織嚴密的生產流水線。

          時瀏覽網站的時候經常會遇到點擊某些按鈕會彈出登錄提示或者注意事項提示的彈窗。那么這種彈窗是怎么實現的呢。實現方法有很多,不外乎就是點擊事件觸發相應的彈窗事件。
          在這里介紹一個簡易實現的方法。
          首先,這里的彈窗長這樣:


          而原本頁面長這樣:


          這里假定圖中深綠色的按鈕作為觸發彈窗事件的按鈕,在這里命名為btn1,然后就是彈窗的制作:
          由圖可看出,彈窗是基于整個屏幕的,有個灰色背景遮罩,中間有一塊白色底帶有圖標文字說明的內容提示區,下面還有兩個按鈕,close是關閉彈窗的作用。了解了這些,就開始制作彈窗了:
          1、html結構如下:

          1. css樣式如下:

          .tc{
          width: 100%;
          height: 100%;
          position: fixed;
          left: 0;
          top: 0;
          z-index: 9;
          background: rgba(0,0,0,.5);
          display: none;
          }
          .tc .box{
          width: 670px;
          height: 404px;
          background: #fff;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%,-50%);
          box-sizing: border-box;
          padding-top: 54px;
          }
          .tc .box .icon{
          width: 110px;
          height: 110px;
          margin: auto;
          }
          .tc .box .t1{
          font-size: 18px;
          line-height: 28px;
          color: #333;
          text-align: center;
          box-sizing: border-box;
          padding: 0 70px;
          margin-top: 38px;
          }
          .tc .box .t2{
          display: flex;
          justify-content: center;
          margin-top: 48px;
          }
          .tc .box .t2 .btn1{
          width: 195px;
          height: 40px;
          border: none;
          background: #1296db;
          color: #fff;
          font-size: 18px;
          display: block;
          cursor: pointer;
          }
          .tc .box .t2 .btn2{
          width: 128px;
          height: 40px;
          border: none;
          background: #295965;
          color: #fff;
          font-size: 18px;
          display: block;
          margin-left: 16px;
          cursor: pointer;
          }
          由于在整個彈窗的父級div里加了隱藏屬性:display:none; 所以在頁面上是看不到彈窗的,這個時候就要開始寫觸發彈窗的點擊事件了,上面假定的按鈕是btn1,彈窗這塊的父級div是 tc 。
          <script>
          $('.btn1').on('click',function(){
          $('.tc').show();
          })
          </script>
          這樣就寫好之后點擊 btn1 就能顯示彈窗了,現在彈窗出現的效果有了,那么點擊close關閉彈窗的效果也就不遠了
          <script>
          $('.tc .btn2').on('click',function(){
          $('.tc').hide();
          })
          </script>
          在這里把close 的類名命名為 btn2, 如上代碼就實現了點擊close按鈕關閉彈窗的功能。
          將這兩個事件放在一起,節省一個script,也顯得美觀些就是這樣
          <script>
          $('.btn1').on('click',function(){
          $('.tc').show();
          })
          $('.tc .btn2').on('click',function(){
          $('.tc').hide();
          })
          </script>
          到這里一個建議的點擊彈窗關閉的效果就實現了。

          單的 ASP.NET 頁面看上去就像普通的 HTML 頁面。


          Hello RUNOOB.COM

          在開始學習 ASP.NET 之前,我們先來構建一個簡單的 HTML 頁面,該頁面將在瀏覽器中顯示 "Hello RUNOOB.COM":

          Hello RUNOOB.COM!


          用 HTML 編寫的 Hello RUNOOB.COM

          下面的代碼將以 HTML 頁面的形式顯示實例:

          <html>

          <body bgcolor="yellow">

          <center>

          <h2>Hello RUNOOB.COM!</h2>

          </center>

          </body>

          </html>

          如果您想親自嘗試一下,請保存上面的代碼到一個名為 "firstpage.htm" 的文件中,并創建一個到該文件的鏈接:firstpage.htm。


          用 ASP.NET 編寫的 Hello RUNOOB.COM

          轉換 HTML 頁面為 ASP.NET 頁面最簡單的方法是,直接復制一個 HTML 文件,并把新文件的擴展名改成 .aspx

          下面的代碼將以 ASP.NET 頁面的形式顯示實例:

          <html>

          <body bgcolor="yellow">

          <center>

          <h2>Hello RUNOOB.COM!</h2>

          </center>

          </body>

          </html>

          如果您想親自嘗試一下,請保存上面的代碼到一個名為 "firstpage.aspx" 的文件中,并創建一個到該文件的鏈接:firstpage.aspx。


          它是如何工作的?

          從根本上講,ASP.NET 頁面與 HTML 是完全相同的。

          HTML 頁面的擴展名是 .htm。如果瀏覽器向服務器請求一個 HTML 頁面,服務器可以不進行任何修改,就直接發送頁面給瀏覽器。

          ASP.NET 頁面的擴展名是 .aspx。如果瀏覽器向服務器請求個 ASP.NET 頁面,服務器在將結果發回給瀏覽器之前,需要先處理頁面中的可執行代碼。

          上面的 ASP.NET 頁面不包含任何可執行的代碼,所以沒有執行任何東西。在下面的實例中,我們將添加一些可執行的代碼到頁面中,以便演示靜態 HTML 頁面和動態 ASP 頁面的不同之處。


          經典 ASP

          Active Server Pages (ASP) 已經流行很多年了。通過 ASP,可以在 HTML 頁面中放置可執行代碼。

          之前的 ASP 版本(在 ASP.NET 之前)通常被稱為經典 ASP。

          ASP.NET 不完全兼容經典 ASP,但是只需要經過少量的修改,大部分經典 ASP 頁面就可以作為 ASP.NET 頁面良好地運行。

          如果您想學習更多關于經典 ASP 的知識,請訪問我們的 ASP 教程。


          用經典 ASP 編寫的動態頁面

          為了演示 ASP 是如何顯示包含動態內容的頁面,我們將向上面的實例中添加一些可執行的代碼(紅色字體標識):

          <html>

          <body bgcolor="yellow">

          <center>

          <h2>Hello RUNOOB.COM!</h2>

          <p><%Response.Write(now())%></p>

          </center>

          </body>

          </html>

          <% --%> 標簽內的代碼是在服務器上執行的。

          Response.Write 是用來向 HTML 輸出流中寫東西的 ASP 代碼。

          Now() 是一個返回服務器當前日期和時間的函數。

          如果您想親自嘗試一下,請保存上面的代碼到一個名為 "dynpage.asp" 的文件中,并創建一個到該文件的鏈接:dynpage.asp。


          用 ASP .NET 編寫的動態頁面

          下面的代碼將以 ASP.NET 頁面的形式顯示實例:

          <html>

          <body bgcolor="yellow">

          <center>

          <h2>Hello RUNOOB.COM!</h2>

          <p><%Response.Write(now())%></p>

          </center>

          </body>

          </html>

          如果您想親自嘗試一下,請保存上面的代碼到一個名為 "dynpage.aspx" 的文件中,并創建一個到該文件的鏈接:dynpage.aspx。


          ASP.NET 對比經典 ASP

          上面的實例無法演示 ASP.NET 與經典 ASP 之間任何的不同之處。

          正如最后的兩個實例中,您看不出 ASP 頁面和 ASP.NET 頁面兩者之間的不同之處。

          在下一章中,您將看到服務器控件是如何讓 ASP.NET 比經典 ASP 更強大的。


          主站蜘蛛池模板: 波多野结衣一区二区三区高清在线 | 久久福利一区二区| 日韩免费观看一区| 国产伦精品一区二区三区女| 亚洲另类无码一区二区三区| 国产精品亚洲一区二区三区| 亚洲视频一区二区| 五月婷婷一区二区| 一区二区三区91| 在线免费观看一区二区三区| 国精产品一区一区三区免费视频| 无码国产精品一区二区免费| 国产精品免费一区二区三区| 亚洲香蕉久久一区二区 | 麻豆一区二区免费播放网站| 国产另类ts人妖一区二区三区| 国产日本亚洲一区二区三区| 国产精品毛片一区二区 | 亚洲一区免费在线观看| 中文字幕在线一区二区三区| 日本一区高清视频| 亚洲变态另类一区二区三区| 色窝窝无码一区二区三区成人网站 | 久久精品无码一区二区三区日韩| 91国偷自产一区二区三区| 日本伊人精品一区二区三区| 国产免费一区二区视频| 精品无码综合一区| 中文字幕一区二区三区精华液| 免费看无码自慰一区二区| 国精产品999一区二区三区有限| 麻豆一区二区99久久久久| 国产一区二区精品久久| 亚洲毛片αv无线播放一区| 亚洲一区二区三区国产精华液 | 亚洲欧美日韩中文字幕一区二区三区| 久久免费区一区二区三波多野| 国产福利视频一区二区| 无码人妻视频一区二区三区| 无码视频一区二区三区在线观看| 中文字幕一区二区区免|