陳擎文教學網:網頁&手機程式設計系統基礎篇: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
程式碼:
<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
學號001
學號002
程式碼:
<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