網站規劃與設計上課補充教材

第十六堂課: 使用 Javascript 的套裝模組

網路上已經有非常多的套裝模組可以使用!你甚至還不太需要知道 Java script 的語法哩!只是需要參考人家寫好的使用說明即可。 當然啦,如果你時間夠多,鳥哥建議可以讀一下 java script 的基礎,然後再套用 Jquery 相關的函式,這樣未來也比較好改寫! 甚至也可以自己寫自己喜歡的環境哩!

使用 lightbox 進行畫面縮放

  1. 首先請參考底下網站的相關連結與介紹: http://lokeshdhakar.com/projects/lightbox2/

  2. 鳥哥將原本的資料稍微修改過一些,你可以從我們這裡下載: lightbox.zip 這個檔案。 請將這個檔案放置到你的網頁根目錄,我們的範例是將這個檔案放置到根目錄就是了。如果你要自己調整,那底下的許多原始碼就請自行調整了。

  3. 在你的 <head> 宣告中,加入這三行喔!請注意,我們假設你的網頁是在 mainpage 或者是 homework 目錄下, 這兩個目錄與 lightbox 是同一層的緣故:
    	<script src="../lightbox/js/jquery-1.11.0.min.js"></script>
    	<script src="../lightbox/js/lightbox.min.js"></script>
    	<link rel="stylesheet" href="../lightbox/css/lightbox.css">
    	
  4. 拿出幾張比較大的圖檔,舉例來說,使用 鳥哥提供的圖檔 來測試也可以。 下載後,在 images/ 目錄下解開,然後將該檔案使用修圖軟體處理一下,產生較小的圖檔,圖檔高度大約 100 像素即可。

  5. 如果是單張圖,那麼使用底下的方式來產生這張圖檔與相關縮放連結:
    	<a href="../images/chen.jpg" data-lightbox="image01" data-title="大陳">
    	<img src="../images/chen-s.jpg" /></a>
    	
    data-lightbox="單獨的照片宣告,不能重複喔"
    data-title="可以出現在放大的照片中左下方的文字,作為文字的說明"

  6. 如果是許多圖放在一起的模樣,亦即是放大的畫面中,可以按左、按右來持續觀察照片的話,那也很簡單,上述的『 data-lightbox="裡面放的說明相同" 』就好了!這樣就可以取得相同的縮放畫面囉!


使用 javascript 進行簡單的圖片輪播

  1. 其實就是透過簡單的 random 函數,加上 innerHTML 這兩個東西來處理即可。不過,妳最好得要先將圖片的長寬比都處理成一樣才好。

  2. 首先,將底下的程式碼寫到妳的 body 內部的某些區塊即可
    <script>
            //隨機播放陣列中指定的圖檔
            var jsImg1 = new Array("../images/20141227-05.jpg", "../images/20141227-06.jpg", "../images/20141227-07.jpg", "../images/20141227-08.jpg", "../images/20141227-09.jpg");
            //設定每兩秒執行一次randomImg1() ,此行要在 function 之外
            setInterval("randomImg1()",2000);
            function randomImg1(){
                    //陣列的長度 * 介於0~1間數字 ,然後在取 floor 當照片索引值
                    var imgIndex1 = Math.floor(Math.random()*jsImg1.length);
                    document.getElementById("myimg1").innerHTML  = "≶img src='"+jsImg1[imgIndex1]+"' width=320>";
            }
    </script>
    	
  3. 上面的程式碼可以多指定兩三個,只是你得要將裡面的 Img1 變成 Img2..,以及 myimg1 變成 myimg2..,還有 imgIndex1 變成 imgIndex2... 這樣,妳就可以指定多個項目了。

  4. 上面的程式碼寫完之後,再來就是得要指定一個 myimg1 的 div 了!
    <div id="myimg1" style="width: 320px; border: 1px solid black; height: 180px; display: inline-block;">
            <img src="../images/20141227-05.jpg" width="320" /></div>
    	
  5. 這樣就可以進行輪播,只是...如果還要加上超連結,就得要加點自己的創意功夫囉!有興趣也可以看一下底下的連結: http://ithelp.ithome.com.tw/question/10126096

  6. 還有底下的許多連結可以參考:
    http://csscoke.com/2013/09/28/css-photo-wall/

本章練習與習題:
  1. 請將你的期末報告網頁上,如果有小圖切換大圖的,請使用上述的說明來重整 lightbox 模組!
  2. 將上述資料進行完畢,並於首頁加入正確的連結,將結果上傳後,到上傳網站查閱是否正確處理才可以!