顯示具有 JavaScript 標籤的文章。 顯示所有文章
顯示具有 JavaScript 標籤的文章。 顯示所有文章

2015年7月21日 星期二

Web前端程式設計:上課練習(4)_表單

表單檢查的處理方式 (form)
  • 建議重點:
    • 若檢查動作寫在按鈕上,不能用submit,要改成 <input type="button">
    • 故建議直接寫在 <form onSubmit="檢查程式"> 比較方便
    • 判斷『錯誤』發生時做處理 (檢查條件,不是檢查『正確』,而是檢查『錯誤』)
    • 其他:Google『網頁表單檢查
表單類型:text/checkbox

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
<!--因要將Message的文字變色,加入CSS格式設定,須配合在對應的地方加入class-->
<style>
.message { color:#FF0000; background-color: #FFFF00;}
</style>

<script>
function check_date() //檢查錯誤輸入
{ var flag='';
 var msg_receiver='';
 var msg_phone='';
 var msg_sure='';

 //檢查收件者
 var obj=document.getElementById('receiver');
 if(obj.value=='')
 {
  flag=false;
  msg_receiver='收件者不能為空白\n';
 }
 
 /*檢查電話號碼(不能是空白且為數字)
 必須  不是空白 && 是數字
  必須   !空白   && !非數字
  錯的檢查  ! ( !空白  && !非數字 )
  錯的檢查  !!空白  ||  !!非數字 
  錯的檢查    空白  ||  非數字 
  if( xxx=='' || isNaN(xxx) )
 */
 
 //檢查電話號碼
 var phone1=document.getElementById('phone1');
 if(phone1.value=='' || isNaN(phone1.value))
 {
  flag=false;
  msg_phone+='電話區碼有誤\n';
 }

 var phone2=document.getElementById('phone2');
 if(phone2.value==''||isNaN(phone2.value))
 {
  flag=false;
  msg_phone+='電話號碼有誤\n';
 }

 //確認欄位需打勾
 var sure=document.getElementById('sure');
 if(!sure.checked) //不使用value是因為JS判斷value都是為Y,但後端可以用value='Y'
 {
  flag=false;
  msg_sure+='確認欄位必須打勾';
 }

 //總結
 if(!flag)
 {
  document.getElementById('msg_receiver').innerHTML=msg_receiver;
  document.getElementById('msg_phone').innerHTML=msg_phone;
  document.getElementById('msg_sure').innerHTML=msg_sure;
 }
 return flag;
}
</script>
</head>
<body>
<h2>資料輸入</h2>
<p>&nbsp;</p>
<form method="post" action="result.txt" onsubmit="return check_date();">
  <p>姓名:
      <input name="receiver" type="text" id="receiver" size="16" />
      <span id="msg_receiver" class="message"></span>
      <!--文字顯示要變色,需要加入class設定-->
  </p>
  <p>電話:
      <input name="phone1" type="text" id="phone1" size="4" />
      <input name="phone2" type="text" id="phone2" size="12" />
      <span id="msg_phone" class="message"></span>
  </p>
  <p>確認:<!--可加value="Y"給後端進行判斷有無勾選-->
      <input type="checkbox" name="sure" id="sure" />
      <span id="msg_sure" class="message"></span>
  </p>
  <p>
    <input type="submit" name="button" id="button" value="送出" />
  </p>
</form>
<p>&nbsp;</p>
</body>
</html>

Web前端程式設計:練習_計時器

利用Date()和setInterval設計一個會變動秒數的計時器


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
<head>
<Meta Charset="utf-8">
<title> 計時器 </title>
<script type="text/javascript">
 function startime()
 {
  var today=new Date();//產生日期物件,new Date(),會傳回當時的日期
  var h=today.getHours();//取得小時 {0 - 23}
  var m=today.getMinutes();//取得分鐘{0 - 59}
  var s=today.getSeconds();//取得秒{0 - 59}
  
  m=checkTime(m);
  s=checkTime(s);
  document.getElementById('time').innerHTML=h+":"+m+":"+s;
 }
//分鐘和秒數要維持兩位數,所以要判斷當低於10時,要補0
 function checkTime(i){
  if(i<10)
  {
   i="0"+i;
  }
  return i;
 }
</script>

</head>
<body onload="startime();">
<!--執行網頁就顯示-->
<h1>計時器 練習</h1>
<p>
<span id="time"></span>
<script>setInterval(startime, 1000);</script>
<!--每秒執行一次-->
</p>

</body>
</html>
計時器.HTML

2015年7月20日 星期一

Web前端程式設計:上課練習(3)_額外功能

身體質量指數運算 (bmi)

  • slider bar (滑動條)
  • rollover
*******************************************************************
實作:滑動條


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title>BMI</title>

<script>
function calc_bmi()
{
  var h = parseFloat( document.getElementById('height').value );
  var w = parseFloat( document.getElementById('weight').value );

  var bmi = w / ( (h/100)*(h/100) );

  // 取兩位小數  
  bmi = Math.floor(bmi*100) / 100;  // 方法一
  bmi = bmi.toFixed(2); // 方法二

  console.log('bmi=' + bmi);

  document.getElementById('message').innerHTML = bmi;//在按鈕下方直接顯示計算結果
  // location.href=page;
}

function update_height()
{
  document.getElementById('height').value = document.getElementById('height_slider').value;
 }

function update_weight()
{
  document.getElementById('weight').value = document.getElementById('weight_slider').value;
}
</script>

</head>

<body>
<h1>BMI 身體質量指數</h1>
<form id="form1" name="form1" method="post" action="">
  <p>身高:
   <!--加入滑動條,並設定最小/最大數值,value為預設位置,step每次移動刻度-->
    <input type="range" id="height_slider" min="100" max="200" value="150" step="1" oninput="update_height();">
    <input name="height" type="text" id="height" size="4" /> 公分
  </p>
  <p>體重:
    <input type="range" id="weight_slider" min="20" max="120" value="60" step="1" oninput="update_weight();">
    <input name="weight" type="text" id="weight" size="4" /> 公斤
  </p>
  <p>
    <input type="button" name="button" id="button" value="計算BMI" onclick=" calc_bmi(); " />
  </p>
</form>
<span id="message"></span>
<p>&nbsp;</p>
</body>
</html>
*******************************************************************
實作:rollover



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title>BMI</title>
<script>
function show_xy()
{
  var obj = document.getElementById('board');
  
  // 取得滑鼠的座標位置
  var x = event.clientX - obj.offsetLeft;
  var y = event.clientY - obj.offsetTop;
  
  
  // 定義身高體重的範圍
  var hmin = 100;
  var hmax = 200;
  var wmin = 30;
  var wmax = 120;
  
  // 定義座標XY的範圍,對應img id="person"的大小
  var xmin = 0;
  var xmax = 286;
  var ymin = 0;
  var ymax = 286;

   // 對應的公式推導
   //  wmin.....w.....wmax (體重最小<--體重-->體重最大)
   //  xmin.....x.....xmax (X座標最小<--X-->X座標最大)
   // (w-wmin)/(wmax-wmin) = (x-xmin)/(xmax-xmin)
   //  w = wmin + (wmax-wmin) * ((x-xmin)/(xmax-xmin))

  var h = hmin + (hmax-hmin) * ((y-ymax)/(ymin-ymax));
  var w = wmin + (wmax-wmin) * ((x-xmin)/(xmax-xmin));
  
  var bmi = w / ((h/100)*(h/100));
    bmi = bmi.toFixed(2);

  document.getElementById('height').value = h.toFixed(0);//欄位內對應顯示的身高值
  document.getElementById('weight').value = w.toFixed(0);
  
  document.getElementById('message').innerHTML = bmi; //即時計算
  
  document.getElementById('person').height = h;//將img id="person"的height替換成計算出來的高度
  document.getElementById('person').width = w;
}
</script>
</head>

<body>
<h1>BMI 身體質量指數</h1>
<form id="form1" name="form1" method="post" action="">
  <p>身高:
    <input name="height" type="text" id="height" size="4" />公分</p>
  <p>體重:
    <input name="weight" type="text" id="weight" size="4" />公斤</p>
  <p>
    BMI = <span id="message">?</span>
  </p>
</form>
<p>
<img id="board" src="images/board.jpg" width="286" height="286" onmousemove="show_xy();" />
<img id="person" src="images/person.png" width="256" height="256" /></p>
</body>
</html>

slider
rollover

Web前端程式設計:上課練習(3)

身體質量指數運算 (bmi)
  • 網頁設計
  • 主要的程式架構
  • 取得身高體重值 (轉為浮點數) 並計算
  • 取兩位小數 (兩種方法)
  • 條件判斷語法
  • 結果的顯示 (彈出訊息框、顯示在網頁上、網頁連結...)
  • 加入身高的檢查 (避免除以零的錯誤)
************************************************************************
實作0:網頁設計
網頁上顯示輸入的身高、體重及計算的按鈕

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> BMI </title>
</head>
<body>

<h1>BMI 身體質量指數</h1>

<form method="post" action=""><!--表單,action是要回傳至後台的網址,ex:action = "你要去的網頁.php"-->
<p>身高:
<input type="text" name="height" id="height" size="4"/>公分
<!--通常name和id會設定相同,一個後台用,一個前端用-->
</p>
<p>體重:
<input type="text" name="weight" id="weight" size="4"/>公斤
</p>
<p>
<input type="button" name="button" id="button" value="計算BMI"/>
<!--若要回傳至後台,input type="submit"-->
</p>
</form>
<p>&nbsp;</p>
</body>
</html>

---------------------------------------------------------------------------------------------------------------
實作1:主要的程式架構
設計function


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> BMI </title>
<script>
 function calc_bmi()
 {
  var h = document.getElementById('height').value;
  alert('h='+h);

 }
</script>
</head>
<body>

<h1>BMI 身體質量指數</h1>

<form method="post" action=""><!--表單,action是要回傳至後台的網址,ex:action = "你要去的網頁.php"-->
<p>身高:
<input type="text" name="height" id="height" size="4"/>公分
<!--通常name和id會設定相同,一個後台用,一個前端用-->
</p>
<p>體重:
<input type="text" name="weight" id="weight" size="4"/>公斤
</p>
<p>
<input type="button" name="button" id="button" value="計算BMI" onclick="calc_bmi();"/>
<!--若要回傳至後台,input type="submit"-->
</p>
</form>
<p>&nbsp;</p>
</body>
</html>
---------------------------------------------------------------------------------------------------------------
實作2:撰寫計算公式
BMI= 體重/身高(m)*身高(m),取得數值需轉為浮點數計算


1
2
3
var h = parseFloat(document.getElementById('height').value);//將字串轉為浮點數
var w = parseFloat(document.getElementById('weight').value);
var bmi = w/((h/100)*(h/100));
---------------------------------------------------------------------------------------------------------------
實作3:取兩位小數


1
2
3
//取兩位小數
bmi = Math.floor( bmi * 100 ) / 100 ; //方法1:將bmi*100在無條件捨去小數,在/100
bmi = bmi.toFixed(2);
---------------------------------------------------------------------------------------------------------------
實作4:條件判斷語法
判斷bmi數值18.5、24、27等要秀出對應的資訊


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function calc_bmi()
 {
  var h = parseFloat(document.getElementById('height').value);//將字串轉為浮點數
  var w = parseFloat(document.getElementById('weight').value);
  var bmi = w/((h/100)*(h/100));

  //取兩位小數
  bmi = Math.floor(bmi*100)/100 ; //方法1:將bmi*100在無條件捨去小數,在/100
  bmi = bmi.toFixed(2);

  var msg='';//要秀的資訊
  //判斷
  if ( bmi<=18.5 )
  {
   msg='太輕';
  }else if ( bmi>18.5 && bmi<=24)
  {
   msg='正常';
  }else if ( bmi>24 && bmi<=27)
  {
   msg='稍重';
  }else if ( bmi>27)
  {
   msg='月巴 月半';
  }else
  {
   msg='看到這表示程式出錯了';
  }
  alert('bmi='+bmi+'\n'+msg);//先網頁秀出
 }
---------------------------------------------------------------------------------------------------------------
實作5:將所有要顯示的結果寫入
秀出資訊及圖片以及網頁


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> BMI </title>
<script>
 function calc_bmi()
 {
  var h = parseFloat(document.getElementById('height').value);//將字串轉為浮點數
  var w = parseFloat(document.getElementById('weight').value);
  var bmi = w/((h/100)*(h/100));

  //取兩位小數
  bmi = Math.floor(bmi*100)/100 ; //方法1:將bmi*100在無條件捨去小數,在/100
  bmi = bmi.toFixed(2);

  var msg='';//要秀的資訊
  var pic='';//要秀的圖檔
  var page='';//要秀的網址
  //判斷
  if ( bmi<=18.5 )
  {
   msg='太輕';
   pic='s1.jpg';
   page='page1.html';
  }else if ( bmi>18.5 && bmi<=24)
  {
   msg='正常';
   pic='s2.jpg';
   page='page2.html';
  }else if ( bmi>24 && bmi<=27)
  {
   msg='稍重';
   pic='s3.jpg';
   page='page3.html';
  }else if ( bmi>27)
  {
   msg='月巴 月半';
   pic='s4.jpg';
   page='page4.html';
  }else
  {
   msg='看到這表示程式出錯了';
  }

  var str='';//整個要秀的資訊

  str+='<h3>你的狀況是:'+msg+'</h3>';//顯示文字
  str+='<img src="images/'+pic+'">';//圖片顯示
  str+='<p><a href="' + page + '">參考我們的建議</a></p>';//顯示的網址

  document.getElementById('message').innerHTML=str;// location.href=page;
 }
</script>
</head>
<body>

<h1>BMI 身體質量指數</h1>

<form method="post" action=""><!--表單,action是要回傳至後台的網址,ex:action = "你要去的網頁.php"-->
<p>身高:
<input type="text" name="height" id="height" size="4"/>公分
<!--通常name和id會設定相同,一個後台用,一個前端用-->
</p>
<p>體重:
<input type="text" name="weight" id="weight" size="4"/>公斤
</p>
<p>
<input type="button" name="button" id="button" value="計算BMI" onclick="calc_bmi();"/>
<!--若要回傳至後台,input type="submit"-->
</p>
</form>
<span id="message"></span><!--在按鈕下方顯示bmi計算後要顯示的資訊-->
<p>&nbsp;</p>
</body>
</html>
---------------------------------------------------------------------------------------------------------------
實作6:加入身高的判斷
確認輸入框的內容不能為空且不能為0

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
//輸入資料的檢查
  if(isNaN(h) || h==0)//isNaN(h)表示h的值為空,且分母不能為0
  {
   alert('身高有錯');
   return false;
  }

  if(isNaN(w))
  {
   alert('體重有錯');
   return false;
  }

Web前端程式設計:上課練習(2)

Class 02 (2015.07.20)

學習重點:圖片顯示切換程式

動物大觀 (javascript)
  • ------ 實作練習 ------------------
  • 實作0:先設計網頁
  • 實作1:程式複習 (第一張圖會換)
  • 實作2:把程式定義在head區段,建立function
  • 實作3:傳入 function 參數;變數使用;條件判斷句型
  • ------ 變化擴充 ------------------
  • 實作4:加入按鈕,上一張及下一張
  • 實作5:定時輪播
**************************************************************************
實作0~1

先將10張圖片以及顯示的大圖設計完成,並且滑鼠移到小圖上,下方的大圖會跟著變換



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> ANIMAL </title>

</head>
<body>

<h1>動物大觀</h1>
<p>
<img src="images_s/01.jpg" onmouseover="document.getElementById('picture').src='images_b/01.jpg';"/>
<img src="images_s/02.jpg" onmouseover="document.getElementById('picture').src='images_b/02.jpg';"/>
<img src="images_s/03.jpg" onmouseover="document.getElementById('picture').src='images_b/03.jpg';"/>
<img src="images_s/04.jpg" onmouseover="document.getElementById('picture').src='images_b/04.jpg';"/>
<img src="images_s/05.jpg" onmouseover="document.getElementById('picture').src='images_b/05.jpg';"/><br/>
<!--圖片中間不要有空格的話,就不要斷行-->
<img src="images_s/06.jpg" onmouseover="document.getElementById('picture').src='images_b/06.jpg';"/><img src="images_s/07.jpg" onmouseover="document.getElementById('picture').src='images_b/07.jpg';"/><img src="images_s/08.jpg" onmouseover="document.getElementById('picture').src='images_b/08.jpg';"/><img src="images_s/09.jpg" onmouseover="document.getElementById('picture').src='images_b/09.jpg';"/><img src="images_s/10.jpg" onmouseover="document.getElementById('picture').src='images_b/10.jpg';"/>
</p>
<p>
<img id="picture" src="images_b/default.jpg"/></p>



</body>
</html>
-------------------------------------------------------------------------------
實作2
把更換圖片的程式改用JavaScript,在<head></head>範圍中增加<script></script>,並將函式寫在其中

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> ANIMAL </title>
<script>
 function change(s)
 {
  switch(s){
   case 0://預設
    document.getElementById('picture').src='images_b/default.jpg';
    break;
   case 1:
    document.getElementById('picture').src='images_b/01.jpg';
    break;
   case 2:
    document.getElementById('picture').src='images_b/02.jpg';
    break;
   case 3:
    document.getElementById('picture').src='images_b/03.jpg';
    break;
   case 4:
    document.getElementById('picture').src='images_b/04.jpg';
    break;
   case 5:
    document.getElementById('picture').src='images_b/05.jpg';
    break;
   case 6:
    document.getElementById('picture').src='images_b/06.jpg';
    break;
   case 7:
    document.getElementById('picture').src='images_b/07.jpg';
    break;
   case 8:
    document.getElementById('picture').src='images_b/08.jpg';
    break;
   case 9:
    document.getElementById('picture').src='images_b/09.jpg';
    break;
   case 10:
    document.getElementById('picture').src='images_b/10.jpg';
    break;
   default:
    document.getElementById('picture').src='images_b/default.jpg';
    break;
  }

 }

</script>
</head>
<body>

<h1>動物大觀</h1>
<p>
<img src="images_s/01.jpg" onmouseover="change(1);"/>
<img src="images_s/02.jpg" onmouseover="change(2);"/>
<img src="images_s/03.jpg" onmouseover="change(3);"/>
<img src="images_s/04.jpg" onmouseover="change(4);"/>
<img src="images_s/05.jpg" onmouseover="change(5);"/><br/>
<!--圖片中間不要有空格的話,就不要斷行-->
<img src="images_s/06.jpg" onmouseover="change(6);"/>
<img src="images_s/07.jpg" onmouseover="change(7);"/>
<img src="images_s/08.jpg" onmouseover="change(8);"/>
<img src="images_s/09.jpg" onmouseover="change(9);"/>
<img src="images_s/10.jpg" onmouseover="change(10);"/>
</p>
<p>
<img id="picture" src="images_b/default.jpg"/></p>
</body>
</html>
-------------------------------------------------------------------------------
實作3
將重複的語法改由變數替換


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> ANIMAL </title>
<script>
 function change(s)
 { 
  var pic='';//更換圖檔名稱
  switch(s)
  {
   case 0://預設
    pic='images_b/default.jpg';
    break;
   case 1:
    pic='images_b/01.jpg';
    break;
   case 2:
    pic='images_b/02.jpg';
    break;
   case 3:
    pic='images_b/03.jpg';
    break;
   case 4:
    pic='images_b/04.jpg';
    break;
   case 5:
    pic='images_b/05.jpg';
    break;
   case 6:
    pic='images_b/06.jpg';
    break;
   case 7:
    pic='images_b/07.jpg';
    break;
   case 8:
    pic='images_b/08.jpg';
    break;
   case 9:
    pic='images_b/09.jpg';
    break;
   case 10:
    pic='images_b/10.jpg';
    break;
   default:
    pic='images_b/default.jpg';
    break;
  }
  var obj=document.getElementById('picture');//將更換的語法設為變數obj
  obj.src=pic;//將要更換的圖檔名設定為pic

 }
</script>
</head>
<body>
<h1>動物大觀</h1>
<p>
<img src="images_s/01.jpg" onmouseover="change(1);"/>
<img src="images_s/02.jpg" onmouseover="change(2);"/>
<img src="images_s/03.jpg" onmouseover="change(3);"/>
<img src="images_s/04.jpg" onmouseover="change(4);"/>
<img src="images_s/05.jpg" onmouseover="change(5);"/><br/>
<!--圖片中間不要有空格的話,就不要斷行-->
<img src="images_s/06.jpg" onmouseover="change(6);"/>
<img src="images_s/07.jpg" onmouseover="change(7);"/>
<img src="images_s/08.jpg" onmouseover="change(8);"/>
<img src="images_s/09.jpg" onmouseover="change(9);"/>
<img src="images_s/10.jpg" onmouseover="change(10);"/>
</p>
<p>
<img id="picture" src="images_b/default.jpg"/></p>
</body>
</html>
**************************************************************************
實作4:加入按鈕,上一張及下一張
網頁增加兩個按鈕,設定全域變數,讓change(s)回傳至全域變數,在針對全域變數做張數切換


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html>
<head>
<Meta Charset="utf-8">
<title> ANIMAL </title>
<script>
 var corr=0;//全域變數
 var total=11;//全部圖檔的數量
 function change(s)
 { 
  var pic='';//更換圖檔名稱
  corr=s;//取得目前該圖片的圖檔
  switch(s)
  {
   case 0://預設
    pic='images_b/default.jpg';
    break;
   case 1:
    pic='images_b/01.jpg';
    break;
   case 2:
    pic='images_b/02.jpg';
    break;
   case 3:
    pic='images_b/03.jpg';
    break;
   case 4:
    pic='images_b/04.jpg';
    break;
   case 5:
    pic='images_b/05.jpg';
    break;
   case 6:
    pic='images_b/06.jpg';
    break;
   case 7:
    pic='images_b/07.jpg';
    break;
   case 8:
    pic='images_b/08.jpg';
    break;
   case 9:
    pic='images_b/09.jpg';
    break;
   case 10:
    pic='images_b/10.jpg';
    break;
   default:
    pic='images_b/default.jpg';
    break;
  }
  var obj=document.getElementById('picture');//將更換的語法設為變數obj
  obj.src=pic;//將要更換的圖檔名設定為pic
 }
 function next()
 {
  corr = (corr+1) % total;//使用取餘數的方式,當corr+1>total,返回初始張
  change(corr);
 }
 function prev()
 {
  corr= (corr-1+total) % total;//先加total在取餘數,使其不會變成負數
  change(corr);
 }
</script>
</head>
<body>
<h1>動物大觀</h1>
<p>
<img src="images_s/01.jpg" onmouseover="change(1);"/>
<img src="images_s/02.jpg" onmouseover="change(2);"/>
<img src="images_s/03.jpg" onmouseover="change(3);"/>
<img src="images_s/04.jpg" onmouseover="change(4);"/>
<img src="images_s/05.jpg" onmouseover="change(5);"/><br/>
<!--圖片中間不要有空格的話,就不要斷行-->
<img src="images_s/06.jpg" onmouseover="change(6);"/>
<img src="images_s/07.jpg" onmouseover="change(7);"/>
<img src="images_s/08.jpg" onmouseover="change(8);"/>
<img src="images_s/09.jpg" onmouseover="change(9);"/>
<img src="images_s/10.jpg" onmouseover="change(10);"/>
</p>
<p>
<img id="picture" src="images_b/default.jpg"/></p>
<p>
<input type="button" value="上一張" onclick="prev();"/>
<input type="button" value="下一張" onclick="next();"/>
</p>
</body>
</html>
-------------------------------------------------------------------------------
實作5:定時輪播
在按鈕下方加入

1
<script>setInterval(next, 1000);</script>

animal實作