利用JavaScript的AngularJS庫製作電子名片的方法_AngularJS
簡介
在這個例子中,我引用了包括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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務
