返回主頁
    .
    .
    .
VB.NET程式
C++程式
C#程式
JAVA程式
python基礎
python網頁Django
python大數據分析
python解線性代數
python解數學微積分
python人工智慧概論
資料庫應用
網頁與動畫設計
Bootstrap
Html5+CSS+javascript
互動網頁程式設計
PHP
Unity遊戲程式
CocosCreator遊戲
Solar2D遊戲
網頁遊戲:Scratch
遊戲引擎:Construct
AppInventor手機程式
智慧手機程式(jQM)
ionic+angularJS
Android手機程式
多媒體概論
Flash 3D商務網站
電子商務實作Asp
Project遠距教學
數典實作
Office實用技巧
PDA程式
出書一
出書二
初級網頁製作
傳醫概論
    .
    .
    .
    .


 


 
 
陳擎文教學網:網頁&手機程式設計系統基礎篇:html5+CSS+javascrip

介紹第2種智慧型手機程式設計的方法:網頁法(基礎篇):使用 Html5 + CSS + javascript

 網頁三兄弟:HTML、CSS、JavaScript
網頁三大元素:HTML、CSS、JavaScript


 設計智慧型手機主要有兩種方法:
 (1).採用應用程式設計法:例如:使用JAVA程式來撰寫android手機程式。(或是Objective-C和Xcode來撰寫iphone程式,或使用Visual Studio VB.NET和silverlight來撰寫微軟Window Phone手機程式。
 缺點:程式技術較困難,無法跨越各種平台、各種廠牌、各種解析度。

 (2).採用網頁程式設計方法:使用Html5+CSS+javascript,結合jquery+PhoneGap。 
 優點:網頁程式較為簡單,寫好的程式可以廣泛應用,可跨越各種平台、各種廠牌
 Html 5-- 最新一代的網頁標籤語法,新增了繪圖,播放影音等的標籤
 (1).CSS -- 設定網頁標籤的各種詳細屬性,例如:,例如:style="color:#F000000"
 (2).javascript-- 一種用戶端網頁程式,可以用來控制與各種網頁標籤的互動
 (3).jquery-- 一種改良後的簡易使用javascript函數庫,更容易使用javascript
 (4).jquery Mobile-- 也是簡易使用的javascript函數庫,但用於智慧型手機上
 (5).PhoneGap-- 可以將設計好的智慧型手機javascript網頁程式,打包成APP程式,可以放在play商店販賣,或供人免費下載
 (6).Server2Go-- 一種web網頁伺服器工具,架站軟體(類似微軟的IIS或Linux的Apache),可以在windows桌上電腦來執行Apache伺服器,執行jquery Mobile網頁程式,或是執行PHP伺服器端網頁程式
 優點:Server2Go是綠色軟體,不需安裝,執行即可使用--
 (7).Opera Mobile Emulator手機模擬瀏覽器 -- 可以在windows桌上電腦模擬成各種廠牌的智慧型手機,來執行所開發的網頁手機程式,預覽其內容結果
  上課程式碼即時貼網站 線上黑板( Online blackboard) 上課即時貼(guestBook) 考試題目(Exam)  
  資源1:免費的線上網頁編輯軟體vscode 微軟的網頁版VSCode VS Code安裝版    
  資源2:英文打字練習 趣味英文打字練習 英打測試速度 電教協會中英打等級分類 TQC英打等級
  資源3:免費的線上網頁空間申請 Byethost網頁空間申請網址 登入Byethost的cpanel網址    
  資源4:免費的各種程式教學補習班 w3c_school(英文,建議) w3c_school(中文,範例少)    
  資源5:普通的網頁模板下載(web template) 網頁模板 網頁模板 網頁模板 網頁模板
  資源6:bootstrap網頁模板下載(bootstrap web template) bootstrap網頁模板 bootstrap網頁模板 bootstrap網頁模板 bootstrap網頁模板
  資源6:bootstrap網頁模板下載(bootstrap web template) bootstrap 7網頁模板
  資源7:RWD響應網頁模板下載(RWD web template) RWD網頁模板 w3cschool RWD網頁模板 RWD網頁模板 RWD網頁模板
  資源8:如何下載整個網站資料、圖片(砍站軟體) HTTrack官網HTTrack(雲端)) HTTrack教學(砍站軟體) 20個網頁抓取工具快速抓取網站 WinHTTrack
  考試題目(Exam) 考試題目(Exam) 畢業門檻(Graduation threshold) 2018通識課規定 有道翻譯
  Goole 輸入法(Input software) Goole輸入法(Input:exe) Goole 輸入法(Input:zip) online goole input(中文) online goole input(英文)
  漢語拼音 查詢某中文字的拼音 注音-漢語拼音 對照表(1) 注音-漢語拼音 對照表(2) Indonesia Pronunciation vs Chinese
  網頁編輯 DW3免安裝(portable) DW6免安裝(portable) DW6安裝版  
  免費的網頁編輯軟體 微軟的Visual Studio Code(英文版) VS Code 的中文(繁體)語言套件    
  上課加分系統 3A加分系統 4A加分系統    
  上課求助系統 3A求助系統 4A求助系統    
  課外參考書籍原文電子書下載 參考書籍下載      
  作業與考試上傳方法  上傳注意事項 Ftp軟體    
  免費的網頁編輯軟體 微軟的Expression web 4(英文版) 微軟的Expression web 4(中文版)    
  javascript教學網站 w3c學校-javascript(中文版) w3c學校-javascript(英文版)    
  jQuery教學網站 w3c學校-jQuery(中文版) w3c學校-jQuery(英文版)    
  jQuery Mobile教學網站 w3c學校-jQuery Mobile(中文版) w3c學校-jQuery Mobile(英文版)    
  HTML 5 教學網站 w3c學校-HTML 5 (中文版) w3c學校-HTML 5 (英文版)    
  CSS教學網站 w3c學校-CSS 3(中文版) w3c學校-CSS(英文版)    
  html,CSS教學網站 w3c學校-html,xhtml,htm5,CSS,cSS3(中文版)      
  HTML DOM 教學網站 w3c學校-HTML DOM(中文版)    
  AJAX 教學網站 w3c學校-AJAX(中文版) w3c學校-AJAX(英文版)    
  JSON 教學網站 w3c學校-JSON(中文版) w3c學校-JSON(英文版)    
  PHP 5教學網站 w3c學校-PHP 5(中文版) w3c學校-PHP 5(英文版)    
  ASP.NET教學網站 w3c學校-ASP.NET(中文版) w3c學校-ASP.NET(英文版)    
           
Chp1 : 套用已經寫好的javascript程式
  下載講義 下載講義      
  下載網頁模板 網頁模板 免費圖形下載icon for free    
  javascirpt特效網站 首頁製作百寶箱 javascirpt特效    
  下載Java Applet元件 水中倒影元件 俄羅斯方塊元件    
  下載Java Applet元件 水中漣漪 雪景 投影圖片  
  成果範例網站 成果範例      
  js遊戲 俄羅斯方塊teris(javascirt+canvas) 俄羅斯方塊teris(js+canvas程式碼) 俄羅斯方塊teris(javascirt) 俄羅斯方塊teris(javascirt程式碼)
    比較圖:各種程式語言最近10年的興衰趨勢:python,javascript,java,c#,php,c++

  下載軟體 Server2Go架站軟體 書本版本下載     
    Opera 手機模擬瀏覽器 Opera 12.1Windows版下載    
  下載物件 雪花飄落網頁 貓走路網頁    
  下載講義 chp1手機設計簡介      
  下載講義 chp1講義      
           
Chp 2: 基本輸出document.write,Alert (提示) 對話盒,Confirm 確認對話盒,Prompt 輸入對話盒
  編輯javascript的幾種方法:        
  方法1: 使用dreamweaver 但無法自動顯示待選程式碼     
  方法2: 使用Visual Studio .NET      
  方法3: 使用 PSPad開發工具 免費版的javascript開發工具     
  練習範例 documentWrite01 documentWrite02 documentWrite03 documentWrite04
    documentWrite05 alert01 prompt01 comfirm01
  關鍵程式碼 function()      
           
Chp 3: 表單常用工具項:textBox文字方塊,label文字標籤,按鈕
  練習範例 textBox01 textBox02    
  練習範例 label-css-style label-css-class label-class-link label-bootstrap-class
    documentWrite05      
  常用簡易CSS的設定語法 設定標籤CSS屬性的style參數      
  所有CSS屬性列表,設定語法 所有document.getElementById('標籤id名稱').style一覽表:HTML DOM Style Object      
  按鈕的超連結(1)

<input type="button" id="btn1" value="按鈕" onclick="javascript:location.href='https://tw.yahoo.com/'" />


  按鈕的超連結(2)

<input type="button" id="btn1" value="按鈕" onclick="gopage()" />

....................................................

<script type="text/javascript">
function gopage(){
location.href = "https://tw.yahoo.com";
}
</script>

           
Chp 4: 選擇結構,條件敘述: if-else 敘述,Switch 敘述,條件運算子 ()..?..:..,控制圖片<img>的屬性,計時器setTimeout(),倒數,貓走路動畫
  練習範例 if比較大小 if01    
    if02 iif01 switch01  
    滑鼠滑過變換圖片01 控制圖片移動02 控制圖片移動03  
    計時器setTimeout01 倒數setTimeout02
    計時器setInterval01 倒數setInterval02
    貓走路動畫01 貓走路動畫02
  下載圖片 貓圖片 icon圖片1    
  關鍵程式碼

如何將很多個表單元件緊密集結合在一起,而且自動排版
方法;加上2個div 標籤包圍者
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
...........
</div>
</div>
(如果在表單欄位的外面加入 <div data-role="fieldcontain"> </div>,表單會根據螢幕畫面做最適當的配置:寬螢幕的 label 會在 input 的左手邊,窄小的螢幕在 fieldcontain 之間會多一條分隔線)

  關鍵程式碼

如何將很多個表單元件緊密集結合在一起,而且自動排版
方法;加上1個div 標籤包圍者
<fieldset data-role="controlgroup">
...........
</div>

  關鍵程式碼

如何將很多個radio元件緊密集結合在一起,且水平排列
<fieldset data-role="controlgroup" data-type="horizontal">
...........radio選項按鈕
</div>

           
Chp 6: 重複結構迴圈
  練習範例 documentWrite20 documentWrite20Color documentWrite20Size  
    whileLoop01輸入密碼 whileLoop02輸入密碼 whileLoop03產生亂數  
           
Chp 7: 各種基本資料型態:日期時間,數學,字串
  日期時間函數 轉換成中文日期 距離聖誕節還有幾天 倒數計時器  
  數學函數 數學函數基本練習01 各種亂數函數練習02 撲克牌發牌比大小03 撲克牌發牌比大小04
  文字字串函數 基本字串處理 01 字串的轉換與替換02    
  URL亂碼解碼 URL亂碼解碼01 URL亂碼解碼02    
           
Chp 5: 函數function(),傳回數值function
  練習範例 傳回亂數function01 傳回數值function01 傳回數值function02  
           
Chp 8: 陣列,一維陣列,二維陣列
  陣列 隨機顯示每日一句01 陣列+下拉式選單,查詢產品價格(javascript指令) 陣列+下拉式選單,查詢產品價格(jQuery指令) 2維陣列,計算學生平均成績03
  下載圖檔 撲克牌圖檔      
  關鍵程式碼

建立陣列的三種方法:
方法1: text = ["apple","grape","carrot"];

方法2: var text = new Array("apple","grape","carrot");

方法3:可以一直增加陣列元素的方法
var text = new Array();
text[1] = "apple";
text[2] = "grape";

  關鍵程式碼

(4).迴圈讀取陣列:方法1
for(i=0;i<array.length;i++){
tex01.value += array[i] + "<br/>";
}

(5).迴圈讀取陣列:方法2
for(i in array){
tex01.value += array[i] + "<br/>";
}

  關鍵程式碼

(2).數學函數:Math.floor()無條件捨去法

Math.floor()將數字向下到最接近的整數:

(3).數學函數:Math.random()取亂數

的Math.random()返回0和1之間的隨機數:

  關鍵程式碼

(1).新增一個項目到select-option內,傳統javascript方法
for(i=0;i<array.length;i++) {
select01.options.add(new Option(array[i]));
}
注意:第1個options(小寫O,有s),第2個Option(大寫O,沒s)

(2)如何知道下拉式選單select是選到第幾個option,傳統javascript方法:
第幾個 = select001.selectedIndex

  關鍵程式碼

(1).新增一個項目到select-option內,jQuery指令方法

for(i=0;i<array.length;i++) {
$('#id01).append("<option>" + array[i] + "</option>");
}

(2)如何知道下拉式選單select是選到第幾個option,jQuery指令方法:
第幾個 = $('#select001').find(":selected").index()

  關鍵程式碼

(1).javascript的二維陣列,2種方法:
方法1:(較常用)
var stu = new Array();//一維陣列
stu[0] = ["john","tainan","boy"];
stu[1] = ["jolin","taipei","girl"];

方法2:
var stu = new Array();//一維陣列
stu[0] = new Array();//二維陣列
stu[0][0] = "john";
stu[0][1] ="tainan";
stu[0][2] = "boy";

  關鍵程式碼

(2).javascript二維陣列,i,j迴圈的最大值:
imax=array.length;
jmax=array[0].length;

for(i=0;i<imax;i++) {
for(j=0;j<jmax;j++) {
}
}

  關鍵程式碼

(3).注意:寫javascript時,要把加入的元件,標籤內的name 都改成 id
<input id="txt01" type="text" size="7" />
否則某些元件,在chrome瀏覽器無法運作

  關鍵程式碼

(4).二維陣列在計算時若是數字(整數小數),要先把text轉成int,或float:
parseInt(txt00.value)
parseFloat(txt00.value)

           
Chp 9: 自訂物件object,物件導向變數,物件object的陣列
  自訂物件object 1.從陣列到物件,物件陣列 練習      
  自訂物件object 2.三種自訂物件導向變數object 練習 3.物件object+下拉式選單,查詢產品價格 4.物件objec.t+下拉式選單,查詢歌曲歌詞播放音樂 5.物件object自動產出jQuery ListView清單
  關鍵程式碼

物件object變數,建立3種方法:
方法1:(最常使用
stu = {name:"john", chinese:95, english:75, math:70};

方法2:(少用)
var stu = new Object();
stu.name ="john";
stu.chinese =95;

方法3:(少用)
var stu = new student("john", 95, 75,70);
....
....
//產生建構子函數,以建立新的物件變數
function student(inputName, inputChinese, inputEnglish,inputMath) {
this.name = inputName;
this.chinese = inputChinese;
this.english = inputEnglish;
this.math = inputMath;
}

  關鍵程式碼

物件object變數的陣列,建立方法:
方法1:(最常使用)
stu = [{name:"john", chinese:95, english:75, math:70},{name:"tom", chinese:75, english:85, math:60},{name:"peter", chinese:95, english:100, math:65}];

方法2:
var stu = new Array(); //一維陣列 物件
stu[0] = {name:"john", chinese:95, english:75, math:70};
stu[1] = {name:"tom", chinese:85, english:85, math:90};

方法3:
var stu = new Array(); //一維陣列 物件
var stu[0] = new Object();
stu[0].name = "john";
stu[0].chinese = 95;
stu[0].english = 75;
stu[0].math = 70;
var stu[1] = new Object();
stu[1].name = "tom";
stu[1].chinese = 85;
stu[1].english = 85;
stu[1].math = 90;

  關鍵程式碼

在網頁播放音樂,最新的方法這是Html 5語法,目前chrome支援此語法,IE9及以上版本才支援
(A).先在網頁設定一個html5標籤:<audio id="audio"></audio>
顯示控制面版:controls
自動播放:autoplay
播放次數:loop


(B)寫javascript 程式碼:
document.getElementById('audio').src ="音樂檔名"; (目前支援mp3, ogg, wav)
document.getElementById('audio').loop=1;
document.getElementById('audio').load();
document.getElementById('audio').play();

  關鍵程式碼

要用自動新增listview清單內的li元件:
(1).傳統javascript方法:新增一筆li項目到ul尾端,的DOM寫法: ul01=document.getElementById("ul的id");
li01=document.createElement("li");
li01.innerHTML=("<li><a href='"+ school[i].ip +"' target='_blank'></a></li>";
ul01.appendChild(li01);

//j最後一定要加上這一行jQuery指令才能更新畫面的元件
$('#listview01').listview("refresh");

(2).傳統javascript方法:新增一筆li項目到ul尾端,的DOM寫法//要新增一個childNode到某個標籤之內
$("#listview01").append("<li><a href='"+ school[i].ip +"' target='_blank'></a></li>");
}
//jQuery一定要加上這一行來更新畫面的元件
$('#listview01').listview("refresh");

           
Chp10: DOM物件object:修改標籤節點與元素內容
  自訂物件object 1.修改ul-li 標籤DOM物件 2.修改select-option 標籤DOM物件    
  關鍵程式碼

(1).項目清單的結構:ul-li

  • 學號001

  • 學號002

程式碼:
<ul>
<li> <h3 align="left"> 學號001</h3> </li>
<li> <h3 align="left">學號002</h3> </li>
</ul>

  關鍵程式碼

(2).新增一筆li項目到ul尾端,的DOM寫法: ul01=document.getElementById("ul的id");
li01=document.createElement("li");
li01.innerHTML="顯示的文字";
ul01.appendChild(li01);

  關鍵程式碼

(3).新增一筆li項目到ul的第3行,DOM寫法: ul01=document.getElementById("ul的id");
li01=document.createElement("li");
li01.innerHTML="顯示的文字";
ul01.insertBefore(li01,ul01.childNodes[3]);

  關鍵程式碼

(4).刪除ul的第3行,DOM寫法: ul01=document.getElementById("ul的id");
ul01.removeChild(ul01.childNodes[3]);

  關鍵程式碼

(5).修改ul第3行的內容,DOM寫法: ul01=document.getElementById("ul的id");
li01=document.createElement("li");
li01.innerHTML="顯示的文字";
ul01.replaceChild(li01,ul01.childNodes[3]);

  關鍵程式碼

(6).注意:要定位第幾個li編號,有的時後會出現錯誤
(A).若是li由textbox輸入,一個一個慢慢新增,那麼編號,正確
(B).若是li已經事先有幾個了,那麼編號,會不正確

  關鍵程式碼

(1).選單清單的結構:select-option

 

程式碼:
<select id="selecttest">
<option>學號001</option>
<option>學號002</option>
</select>

 

  關鍵程式碼

(2).新增一筆option項目到select尾端,的DOM寫法: select01=document.getElementById("select的id");
option01=document.createElement("option");
option01.innerHTML="顯示的文字";
select01.appendChild(option01);

  關鍵程式碼

(3).新增一筆option項目到select的第3行,DOM寫法: select01=document.getElementById("select的id");
option01=document.createElement("option");
option01.innerHTML="顯示的文字";
select01.insertBefore(option01,select001.childNodes[3]);

  關鍵程式碼

(4).刪除select的第3行,DOM寫法: select01=document.getElementById("select的id");
select01.removeChild(select001.childNodes[3]);

  關鍵程式碼

(5).修改select第3行的內容,DOM寫法: select01=document.getElementById("select的id");
option01=document.createElement("option");
option01.innerHTML="顯示的文字";
select01.replaceChild(option001,select001.childNodes[3]);

  關鍵程式碼

(6).注意:要定位第幾個li編號,有的時後會出現錯誤
(A).若是option由textbox輸入,一個一個慢慢新增,那麼編號,正確
(B).若是option已經事先有幾個了,那麼編號,會不正確

  關鍵程式碼

比較:另外一種方法新增option到select的方法:

(1).新增一個項目到select-option內,傳統javascript方法
for(i=0;i<array.length;i++) {
select01.options.add(new Option(array[i]));
}
注意:第1個options(小寫O,有s),第2個Option(大寫O,沒s)

(2)如何知道下拉式選單select是選到第幾個option,傳統javascript方法:
第幾個 = select001.selectedIndex