整合營銷服務商

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

          免費咨詢熱線:

          前端js模板引擎,快速地動態拼接html代碼

          量添加數據時,需要動態添加html代碼。例如:添加規格。

          本猿新手時期是這么做的:(主要看紅框中代碼)

          字符與變量拼接,倒是簡單易行,就是容易出錯(比如:引號不成對),需要反復調試。

          拼接字符串要是不講究, 那更是不便于我們人類閱讀,所以,要是 元素有改變 或者 新增了元素,維護起來自然不易。

          要是像php模板引擎一樣,直接把變量塞進html代碼里面,不但不用糾結引號是否匹配、成對標簽是否缺失閉標簽,而且格式化,那多好-----嗯,這個可以有。

          php有模板引擎,咱js也有,不但有,還百家爭鳴。

          本猿機緣巧合之下,遇見了art-template.js

          先看一眼官方文檔。

          于是,上文的動態添加html代碼需求可以這么實現:

          想要查看art-template官方文檔的更多信息,可以這么做:

          .說明:

          推薦指數:★★★★

          通俗易懂。

          2.效果圖


          3.一個含有內部的css的html,名叫:風車-1.html代碼:

          <!--注釋法-->
          <!--第1步:聲明:可以大小寫均可以:doctype=DOCTYPE-->
          <!--doctype html-->
          <!DOCTYPE html>
          
          <!--第2步:html包起來,默認lang=‘en’,所以也可以刪除-->
          <!--像這樣:html-->
          <html>
          <html lang="en"-->
              <!--第2-1步:head部分設置-->
              <head>
                  <!--第2-1-1步:固定格式meta和title設置-->
                  <meta charset="UTF-8">
                  <!--網頁名字自己隨意取-->
                  <title>大風車DIY1</title>
                  <!--第2-1-2步:css的設置,因為簡單所以直接寫在html的單個文件里-->
                  <!--也可以作為外部文件引起css文件-->
                  <style>
                      #box {
                          width: 10px;
                          height: 10px;
                          margin: 5px auto;
                          position: relative;
                      }
          
                      #main {
                          width: 400px;
                          height: 400px;
                          animation: dfc 1s linear infinite;
                      }
          
                      /*這是css的注釋方法*/
                      /*風車的每一扇葉的設置,因為4個扇葉的設置是一樣的,所以用這樣*/
                      /*4個扇葉的共性設置*/
                      .css1,
                      .css2,
                      .css3,
                      .css4 {
                          width: 200px;
                          height: 100px;
                          border: 1px solid blue;
                          border-radius: 100px 100px 0 0;
                          position: absolute;
                          /*4個扇葉的顏色漸變設置*/
                          background-image: linear-gradient(green, yellow);
                      }
                      /*扇葉1的個性設置*/
                      .css1 {
                          top: 100px;
                      }
                      /*扇葉2的個性設置*/
                      .css2 {
                          top: 50px;
                          left: 150px;
                          -webkit-transform: rotate(90deg);
                          -moz-transform: rotate(90deg);
                          -ms-transform: rotate(90deg);
                          -o-transform: rotate(90deg);
                          transform: rotate(90deg);
                      }
                      /*扇葉3的個性設置*/
                      .css3 {
                          top: 200px;
                          left: 200px;
                          -webkit-transform: rotate(180deg);
                          -moz-transform: rotate(180deg);
                          -ms-transform: rotate(180deg);
                          -o-transform: rotate(180deg);
                          transform: rotate(180deg);
                      }
                      /*扇葉4的個性設置*/
                      .css4 {
                          top: 250px;
                          left: 50px;
                          -webkit-transform: rotate(270deg);
                          -moz-transform: rotate(270deg);
                          -ms-transform: rotate(270deg);
                          -o-transform: rotate(270deg);
                          transform: rotate(270deg);
                      }
          
                      /*中間的圓形的設置*/
                      .ssss {
                          width: 100px;
                          height: 100px;
                          border-radius: 100%;
                          position: absolute;
                          top: 150px;
                          left: 150px;
                          z-index: 10;
                          /*請注意下面css的顏色設置,可以是小寫的英文字母,也可以是大寫的,還可以是十六進制*/
                          /*中間圓的漸變顏色設置*/
                          background-image: radial-gradient(pink, blue);
                      }
                      /*風車的豎直桿的設置*/
                      .hhh {
                          width: 2px;
                          height: 250px;
                          background-image: radial-gradient(black, RED);
                          position: absolute;
                          top: 200px;
                          left: 199px;
                          z-index: -1;
                      }
                      /*運動的功能定義*/
                      @keyframes dfc {
                          0% {
                              -webkit-transform: rotate(0deg);
                              -moz-transform: rotate(0deg);
                              -ms-transform: rotate(0deg);
                              -o-transform: rotate(0deg);
                              transform: rotate(0deg);
                          }
                          25% {
                              -webkit-transform: rotate( 90deg);
                              -moz-transform: rotate( 90deg);
                              -ms-transform: rotate( 90deg);
                              -o-transform: rotate( 90deg);
                              transform: rotate( 90deg);
                          }
                          50% {
                              -webkit-transform: rotate(180deg);
                              -moz-transform: rotate(180deg);
                              -ms-transform: rotate(180deg);
                              -o-transform: rotate(180deg);
                              transform: rotate(180deg);
                          }
                          75% {
                              -webkit-transform: rotate(270deg);
                              -moz-transform: rotate(270deg);
                              -ms-transform: rotate(270deg);
                              -o-transform: rotate(270deg);
                              transform: rotate(270deg);
                          }
                          100% {
                              -webkit-transform: rotate(360deg);
                              -moz-transform: rotate(360deg);
                              -ms-transform: rotate(360deg);
                              -o-transform: rotate(360deg);
                              transform: rotate(360deg);
                          }
                      }
                  </style>
              </head>
              <!--第2-2步:body部分設置-->
              <body>
                  <div id="box">
                      <!--box的div容器里面有風車桿和main的4個運動的扇葉-->
                      <div id="main">
                          <!--main里的css是要一起運動的-->
                          <div class="css1"></div>
                          <div class="css2"></div>
                          <div class="css3"></div>
                          <div class="css4"></div>
                          <div class="ssss"></div>
                      </div>
                      <!--風車的桿是不動的,所以單獨放在一個div容器中-->
                      <div class="hhh"></div>
                  </div>
          
              </body>
          
          </html>

          4.如何將css拆開,單獨呢?大型項目都是css單獨一個文件夾,里面一大堆css文件。

          4.1 建一個fengche.css文件,將下面代碼復制進去,和風車-2.html放在同一個文件夾中。

          fengche.css的代碼:

          #box {
          width: 10px;
          height: 10px;
          margin: 5px auto;
          position: relative;
          }
          
          #main {
          width: 400px;
          height: 400px;
          animation: dfc 1s linear infinite;
          }
          
          /*這是css的注釋方法*/
          /*風車的每一扇葉的設置,因為4個扇葉的設置是一樣的,所以用這樣*/
          /*4個扇葉的共性設置*/
          .css1,
          .css2,
          .css3,
          .css4 {
          width: 200px;
          height: 100px;
          border: 1px solid blue;
          border-radius: 100px 100px 0 0;
          position: absolute;
          /*4個扇葉的顏色漸變設置*/
          background-image: linear-gradient(green, yellow);
          }
          /*扇葉1的個性設置*/
          .css1 {
          top: 100px;
          }
          /*扇葉2的個性設置*/
          .css2 {
          top: 50px;
          left: 150px;
          -webkit-transform: rotate(90deg);
          -moz-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
          -o-transform: rotate(90deg);
          transform: rotate(90deg);
          }
          /*扇葉3的個性設置*/
          .css3 {
          top: 200px;
          left: 200px;
          -webkit-transform: rotate(180deg);
          -moz-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          -o-transform: rotate(180deg);
          transform: rotate(180deg);
          }
          /*扇葉4的個性設置*/
          .css4 {
          top: 250px;
          left: 50px;
          -webkit-transform: rotate(270deg);
          -moz-transform: rotate(270deg);
          -ms-transform: rotate(270deg);
          -o-transform: rotate(270deg);
          transform: rotate(270deg);
          }
          
          /*中間的圓形的設置*/
          .ssss {
          width: 100px;
          height: 100px;
          border-radius: 100%;
          position: absolute;
          top: 150px;
          left: 150px;
          z-index: 10;
          /*請注意下面css的顏色設置,可以是小寫的英文字母,也可以是大寫的,還可以是十六進制*/
          /*中間圓的漸變顏色設置*/
          background-image: radial-gradient(pink, blue);
          }
          /*風車的豎直桿的設置*/
          .hhh {
          width: 2px;
          height: 250px;
          background-image: radial-gradient(black, RED);
          position: absolute;
          top: 200px;
          left: 199px;
          z-index: -1;
          }
          /*運動的功能定義*/
          @keyframes dfc {
          0% {
              -webkit-transform: rotate(0deg);
              -moz-transform: rotate(0deg);
              -ms-transform: rotate(0deg);
              -o-transform: rotate(0deg);
              transform: rotate(0deg);
          }
          25% {
              -webkit-transform: rotate( 90deg);
              -moz-transform: rotate( 90deg);
              -ms-transform: rotate( 90deg);
              -o-transform: rotate( 90deg);
              transform: rotate( 90deg);
          }
          50% {
              -webkit-transform: rotate(180deg);
              -moz-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
              -o-transform: rotate(180deg);
              transform: rotate(180deg);
          }
          75% {
              -webkit-transform: rotate(270deg);
              -moz-transform: rotate(270deg);
              -ms-transform: rotate(270deg);
              -o-transform: rotate(270deg);
              transform: rotate(270deg);
          }
          100% {
              -webkit-transform: rotate(360deg);
              -moz-transform: rotate(360deg);
              -ms-transform: rotate(360deg);
              -o-transform: rotate(360deg);
              transform: rotate(360deg);
          }
          }

          4.2 風車-2.html的代碼:注意修改部分。

          
          <!DOCTYPE html>
          <html>
          <html lang="en"-->
              <head>
                  <meta charset="UTF-8">
                  <title>大風車DIY2</title>
                  <!--注意放在同一個文件夾下,本機是deepin的linux系統,win可能不同-->
                  <link rel="stylesheet" href="./fengche.css" />
              </head>
              <body>
                  <div id="box">
                      <div id="main">
                          <div class="css1"></div>
                          <div class="css2"></div>
                          <div class="css3"></div>
                          <div class="css4"></div>
                          <div class="ssss"></div>
                      </div>
                      <div class="hhh"></div>
                  </div>
          
              </body>
          </html>

          怎么樣?通俗易懂吧,看了后,立馬入門。



          際應用中,目標字符串的生成可能需要多個數據的拼接。

            由于應用頻繁,幾乎是所有編程語言都必須掌握的操作,當然每種語言具有各自特點。

            本文將通過代碼實例詳細介紹一下JavaScript如何實現字符串拼接操作。

          一.使用加號()拼接:


            加號不但可以實現算數運算,也可以實現字符串拼接操作。

            代碼實例如下:

            console.log(``"愛前端"````"專注全棧大前端"``);

            上述代碼使用加號()實現兩個字符串的拼接操作。

            目的是演示加號拼接功能,實際項目中根本沒可能這么用。

            letwebName=``"愛前端"``;

            letaddress=``"專注全棧大前端"``;

            letstr=webName"位于"address;

            console.log(str);

            代碼實現了字符串拼接效果,webName與address是變量,不能將它們直接包裹于引號之中。

            否則,webName與address就不是變量了,變量名稱直接就成為字符串的一部分。

          二.字符串與非字符串數據拼接:


            前面代碼都是字符串之間的拼接操作,其實字符串數據也可以與非字符串數據進行拼接。

            首先看一段代碼實例:

            console.log(5``"5"``);

            可數字5與字符串"5"進行拼接,首先會將數字轉換為字符串,然后再進行拼接操作。

            當然字符串不止可以和數字進行拼接,也可以與其他數據類型進行拼接操作,本文不再演示。

            內在原理是,不同數據類型進行拼接操作的時候,首先會進行隱式數據類型轉換。

          三.模板字符串實現拼接:


            ES2015之前只能通過加號實現字符串拼接,如果數據量較大,那么代碼看起來比較繁瑣。

            現在新增了更為簡單的字符串拼接方式,使用模板字符串與占位符可以實現更為簡潔直觀的拼接操作。

            我自己是一名從事了多年開發的web前端老程序員,目前辭職在做自己的web前端私人定制課程,今年年初我花了一個月整理了一份最適合2019年學習的web前端學習干貨,各種框架都有整理,送給每一位前端小伙伴,想要獲取的可以關注我的頭條號并在后臺私信我:前端,即可免費獲取。


          原文鏈接:https://www.xuebuyuan.com/3270648.html


          主站蜘蛛池模板: 国产精品 一区 在线| 一区二区无码免费视频网站| 久久久久99人妻一区二区三区| 亚洲精品一区二区三区四区乱码| 日本精品少妇一区二区三区| 无码人妻精品一区二| 国产大秀视频一区二区三区| 午夜DV内射一区区| 中文字幕一区二区人妻性色| 国精品无码一区二区三区在线蜜臀 | 99久久精品费精品国产一区二区| 丰满人妻一区二区三区视频| 国精产品一区一区三区免费视频| 久久精品一区二区三区资源网| 亚洲一区中文字幕| 精品人妻少妇一区二区三区在线 | 美女视频黄a视频全免费网站一区| 亚洲视频在线一区二区| 亚洲一区二区三区深夜天堂 | 亚洲性日韩精品一区二区三区| 亚洲成AV人片一区二区密柚| 午夜福利无码一区二区| 国产一区二区三区夜色| 日韩视频一区二区在线观看| 中日av乱码一区二区三区乱码| 蜜臀AV无码一区二区三区 | AV天堂午夜精品一区| 精品国产一区二区三区久久狼| 日本高清不卡一区| 国产一区二区中文字幕| 日本精品一区二区三区在线视频一| 久久国产精品无码一区二区三区| 无码少妇一区二区浪潮av| 国模精品视频一区二区三区| 91精品国产一区| 亚洲色精品三区二区一区| 日韩人妻一区二区三区免费| 亚洲av无码一区二区三区天堂古代 | 国产精品第一区揄拍无码| 无码人妻一区二区三区av| 国产成人亚洲综合一区|