
增加一些特效吧!
jQuery 簡介
- jQuery 是世界上最熱門的 JavaScript 函式庫
- 完全免費
- jQuery 很容易
- 選擇和控制 HTML 元素
- 創建動畫
- 開發 Ajax 應用
- Magnific Popup:響應式 lightbox
- TooltipSter:建立 ToolTip
- Mapplace.js:在網站內插入 google map
- Typer.js:顯示打字特效
- One Page Scroll:滑動特效,一次只顯示一個區塊
- jQuery 函式庫 cdn
- 在 index.html 引入 jQuery 函式庫
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
- 新增 resources/js/script.js
1 | $(document).ready(function() { |
- 在 index.html 把 script.js 引入
<script src="resources/js/script.js"></script>
建立 sticky navigation
- 在 index.html 的 nav 新增 .sticky class
<nav class="sticky">
,並在本來的 logo 下面放入黑色的 logo
<img src="resources/img/logo.png" alt="Omnifood logo" class="logo-black">
- 在 style.css 新增 logo-black 和 sticky header 的 CSS
1 | .logo-black { |
- 下載 webpoints,用來幫助滾動到 html element 的 function
- 將下載好的檔案,儲存到 vendors/js/jquery.waypoints.min.js 並在 index.html 引入
<script src="vendors/js/jquery.waypoints.min.js"></script>
- 在 script.js 控制如果超過 hero box 就顯示 sticky navigation
1 | $(document).ready(function() { |
滾動到元素
- Smooth Scrolling
- 在 index.html 的主頁的兩個 buttons 新增兩個 class
js--scroll-to-plans
js--scroll-to-start
1 | <a class="btn btn-full js--scroll-to-plans" href="#">I'm hungry</a> |
- 在 index.html 的個別區塊新增專屬 js 的 class 和 id
1 | <section class="section-features js--section-features" id="features"> |
- 在選單新增 id 的連結
1 | <li><a href="#features">Food delivery</a></li> |
- 在 index.html 新增事件當點擊按鈕時,移動到某個位置
1 | $('.js--scroll-to-plans').click(function() { |
- 從 Smooth Scrolling 的網站複製 js 到 script.js
1 | // Select all links with hashes |
在滾動的過程中增加動畫
- Animate.css,將檔案下載放置到 vendors/css/animate.css
- 在 index.html 引入 Animate.css
<link rel="stylesheet" type="text/css" href="vendors/css/animate.css">
- 在 index.html 要放置動畫區塊,新增 class
1 | // features 區塊 |
- 在 style.css 的 ANIMATION 新增
1 | .js--wp-1, |
- 在 script.js 新增動畫
1 | $('.js--wp-1').waypoint(function(direction) { |
讓 navigation 變成響應式
- 在 index.html 新增專屬 js 的 class
1 | <ul class="main-nav js--main-nav"> |
- 在 style.css 新增手機版按鈕樣式
1 | .mobile-nav-icon { |
- 在 queries.css 新增選單響應式樣式
1 | .mobile-nav-icon { display: inline-block; } |
- 在 script.js 新增選單打開關閉效果
1 | $('.js--nav-icon').click(function() { |
優化和發佈網站
最後的調整:建立 favicon
- favicon 產生器
- 用產生器產生之後,將檔案放在 resources/favicons,然後在 index.html 引入
1 | <link rel="apple-touch-icon" sizes="180x180" href="resources/favicons/apple-touch-icon.png"> |
效能優化:網站速度
- 優化容量很大圖片
- 壓縮 CSS 和 jQuery code
- optimizilla:壓縮圖片工具
- 壓縮完之後,在 style.css 更改圖片路徑
1 | header { |
基礎 Search Engine Optimization (SEO)
- Search Engine Optimization (SEO):改善且提升網站訪問量的技術,讓網頁可以被搜尋引擎搜尋到
- META DESCRIPTION TAG:在 index.html 新增 Description meta
<meta name="description" content="Omnifood is a premium food delivery service with the mission to bring affordable and healthy meals to as many people as possible">
- HTML VALIDATION
- CONTENT IS KING:網頁內容很重要,即使網站在搜尋的最上面,內容不好,你的使用者就會不想讀,另外,保持更新網站內容,如此一來,你的使用者就會更常回來觀看你的網站。
- KEYWORDS:不要過度使用關鍵字,搜尋引擎會認為是垃圾網站且封鎖你的網站
- BACKLINKS:讓其它網站引用你的網站,搜尋引擎會把這個項目列入計分項目
發佈我們的網站
- 三個簡單的步驟
- 選擇且買網域
- 購買網站代管
- 上傳我們的網站
Google Analytics
- 網站維護
- 保持追蹤網站
- 監控使用者行為
- 如何:使用 Google Analytics!
- 做調整,讓網站越來越好
- 將追蹤碼放置在 index.html 的所有 scripts 下方
完成課程
- 現在呢?
- 重新設計已經完成但是設計很差的網站,
- 免費為當地慈善機構設計網站
- 參加設計競賽
- 開始作一些自由業工作,像是 freelancer.ocm、odesh 或 elance
- 別停止學習
BONUS
有效提升網站轉換率
- 對未來客戶建立信任感:可以提供免費的禮物給訪問者
- 重複你的主要行動:可以在網站上面放置強烈的 call to action 按鈕,讓使用者想點擊
- 抓住使用者的注意力:使用彈跳式視窗
- 告訴使用者效益
- 不要要求太多訊息
- 使用社交證明:使用像是 testimonial 的區塊
- 使用迫切性的效果:使用一些像是 now、hurry、instant 和 immediately 等字眼,讓使用者來點擊按鈕
- 使用稀有性:告訴使用者產品已經缺貨或是要賣光了
新增地圖到 Omnifood 網站
- gmaps.js
- 在 index.html 引入 gmaps.js
1 | <script src="http://maps.google.com/maps/api/js"></script> |
- 在 index.html 的 form seciton 修改為兩個區塊,加入 google map
1 | <div class="map-box"> |
- 在 script.js 新增 google map 位置
1 | var map = new GMaps({ |
- 在 style.css 新增 form + google map 樣式
1 | .map-box { |
- 在 queries.css 的 max-width: 767px 的區塊新增
1 | .map-box { |