国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用JavaScript的AngularJS庫制作電子名片的方法

2019-11-20 12:13:20
字體:
來源:轉載
供稿:網友

2015618111425382.png (527×499)

簡介

在這個例子中,我引用了包括AngularJS在內的一些JavaScript庫,實現了一個很簡單的名片生成器。 盡管在這個小應用中,AngularJS庫相較于其他JavaScript庫來說做的事不多,然而,這個小而強大的AngularJS卻是該應用的全部靈感之源。
背景

在該應用中,我們需要做些簡單工作。首先,我們需要用CSS設計名片。然后,我們需要讓用戶實時的輸入和編輯數據,這個地方AngularJS就不可或缺了。再然后,我們需要將名片的HTML div容器轉化為canvas畫布,并以PNG圖片形式下載即可。就這么簡單!

代碼的使用

這里,我來解釋下下面的代碼塊。

<!DOCTYPE html><html><head>  <title>vCard Creator demo</title>  <link rel="stylesheet" type="text/css" href="main.css"></head><body> <div id="wrapper" ng-app>  <h1>Real time vCard Creator</h1><div id="editor">  <input placeholder="Company name" ng-model="cname"/>  <input placeholder="Company tag line" ng-model="tagline"/>  <input placeholder="Your full name" ng-model="name"/>  <input placeholder="Your designation" ng-model="desig"/>  <input placeholder="Phone number" ng-model="phone"/>  <input placeholder="Email address" ng-model="email"/>  <input placeholder="Website url" ng-model="url"/>  <button id="saveBut">Download vCard as PNG</button>  </div>   <div id="card">    <header>    <h4>{{cname}}</h4>    <p>{{tagline}}</p>  </header>  <div id="theBody">    <div id="theLeft">      <h2>{{name}}</h2>      <h5>{{desig}}</h5>    </div>    <div id="theRight">      <p>{{phone}}</p>      <p>{{email}}</p>      <p>{{url}}</p>    </div>  </div>     </div>   </div> <script type="text/javascript" src="angular.min.js"></script><script type="text/javascript" src="jquery.min.js"></script><script type="text/javascript" src="html2canvas.js"></script><script type="text/javascript" src="canvas2image.js"></script><script type="text/javascript" src="base64.com"></script> </body></html>

這個是該應用的HTML結構。本結構包括了兩部分。一個是id為editor的div,一個是id為card的div。前一個用于讓用戶輸入信息,后一個的作用是用來在名片上顯示信息。 這倆div又被一個id為wrapper的div給包裹起來。這個id為wrapper的div里面,我們會添加 ng-app屬性,因為就是在這個div容器里,我們就要使用angular了。我們可以添加ng-app到HTML的標簽里,這樣一來,我們就能在該網頁的任何地方使用angular了。 下一步,我們創建一些輸入框來接收用戶的輸入信息。確保每個輸入框都有ng-model 這么個屬性,用于傳遞輸入框里相應的值。我們把ng-model屬性放在這里,主要是因為我們想要實時的更新id為card的div里的值。現在,在id為card的div內部,確保我們已經放置了一些賣相古怪的雙括弧,并且在雙括弧里我們放了來自ng-model的值。 基本上,我們在輸入框中輸入內容后,雙括弧里的值立馬就隨之改變了。所以對名片的編輯到此結束。我們的目標是,當一個用戶點擊了下載按鈕,當前的名片將被轉化為一張圖片,并被下載到用戶電腦里。

#editor{  width:350px;  background: silver;  margin:0 auto;  margin-top:20px;  padding-top:10px;  padding-bottom:10px;}input{  width:90%;  margin-left:5px;}button{  margin-left:5px;}#card{  width:350px;  height:200px;  background:whitesmoke;  box-shadow: 0 0 2px #323232;  margin:0 auto;  margin-top:20px;}header{  background:#323232;  padding:5px;}header h4{  color:white;  line-height:0;  font-family:helvetica;  margin:7px;  margin-top:20px;  text-shadow: 1px 1px black;  text-transform:uppercase;}header p{  line-height:0;  color:silver;  font-size:10px;  margin:11px;  margin-bottom:20px;}#theBody{  background:blue;  width:100%;  height:auto;}#theLeft{  width:50%;  float:left;  text-align:right;}#theLeft h2{  margin-right:10px;  margin-top:40px;  font-family:helvetica;  margin-bottom:0;  color:#323232;}#theLeft h5{  margin-right:10px;  font-family:helvetica;  margin-top:5px;  line-height:0;  font-weight: bold;  color:#323232;} #theRight{  width:50%;  float:right;  padding-top:42px;}#theRight p{  line-height:0;  font-size:12px;  color:#323232;  font-family:Calibri;  margin-left:15px;}

這是該應用的CSS樣式。在這地方我們模擬了一個名片的設計,并創建了讓用戶輸入信息的編輯面板。

 

<script>  $(function() {      $("#saveBut").click(function() {          html2canvas($("#card"), {             onrendered: function(canvas) {                 theCanvas = canvas;         Canvas2Image.saveAsPNG(canvas);               }    });  });}); </script>

最后,在HTML頁面的body結束標簽之前插入這段script腳本。這段腳本的包含了下載按鈕對應的事件響應,也就是說 html2canvas 函數的作用是將id為card的div轉化為HTML的canvas畫布,并在對canvas畫布完成渲染之后,以PNG文件的形式保存該canvas畫布。添加完了這個script腳本之后,該做的就做完了。
注意事項

這個canvas2image.js腳本代碼里默認沒有在生成的文件名稱結尾使用擴展名.png。所以如果你無法打開圖片的時候,請重命名該文件名,在文件名結尾加上.png這個擴展名即可。
在線調試 jsFiddle

    點擊這里

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大田县| 祁阳县| 永宁县| 龙州县| 龙江县| 安阳县| 台州市| 新密市| 淄博市| 凤城市| 祁连县| 舒兰市| 辽源市| 缙云县| 郧西县| 沛县| 上犹县| 康乐县| 塘沽区| 边坝县| 亳州市| 台中市| 阿尔山市| 桦川县| 富源县| 乌兰浩特市| 大英县| 大姚县| 方正县| 贡觉县| 株洲县| 方山县| 南通市| 原平市| 清水河县| 台南市| 鸡西市| 穆棱市| 故城县| 泰安市| 泉州市|