Board logo

標題: [教學] (教學第38篇) 堆疊與元件位置 [打印本頁]

作者: 小誌    時間: 2010-5-20 15:58     標題: (教學第38篇) 堆疊與元件位置

這一節是本教學最後一個單元,小誌將不在詳細的理論解說了!因為所有的物件、元件…等等的理論之前都談過了,現在是驗收的時刻了,小誌直接將之前所談的迴圈(for)、判斷敘述(if)、陣列物件(Array)、元件堆疊、元件位置控制等等,直接應用在本節的綜合演練範例中。

如果你一路將本教學閱讀至此,相信你已具備相當的JavaScript設計能力,所謂:「師父領進門、修行在個人」,小誌能給你的只是一塊塊單獨的積木,要如何將這些積木拼成堡壘,就得靠各位讀者自己囉,小誌誠心的希望大家在閱讀本書之後能設計出屬於自己的JavaScript,而不要到網路上直接將別人的成果拷貝到自己的網站中使用,或者是買本集JavaScript程式大全的書回來抄抄寫寫。呵∼小誌廢話太多了,不要見怪ㄚ!

綜合演練:亂數飛行集中定位的文字

何謂亂數飛行?亂數飛行就是我們不在CSS樣式表中直接指定文字字串的位置,因為如果在CSS樣式表中設定則文字字串的位置將是固定的!但是,我們可以使用JavaScript程式來動態的指定文字字串的位置。

[attach]784[/attach]

[attach]785[/attach]
作者: 小誌    時間: 2010-5-20 16:01


作者: 小誌    時間: 2010-5-20 16:04

  1. <HTML>
  2. <HEAD>
  3. <TITLE>綜合演練</TITLE>
  4. <STYLE>
  5. <!--
  6. .Style1 {COLOR: #0000ff; FONT-SIZE: 16pt;  POSITION: absolute; }
  7. .Style2{COLOR: #00ff00; FONT-SIZE: 16pt; POSITION: absolute;}
  8. .Style3 {COLOR: #ff0000; FONT-SIZE: 16pt;  POSITION: absolute; }

  9. -->
  10. </STYLE>

  11. <SCRIPT language="javascript">
  12. var speed = 5
  13. var Count = 0
  14. var Fcount = 50
  15. var TimeID
  16. var IsFly = false
  17. var lay

  18. var StarFly = new Array()
  19. StarFly[1] = 0
  20. StarFly[2] = 50
  21. StarFly[3] = 0
  22. StarFly[4] = 50
  23. StarFly[5] = 0
  24. StarFly[6] = 50
  25. var EndFly = new Array()
  26. EndFly[1] = 10
  27. EndFly[2] = 30
  28. EndFly[3] = 20
  29. EndFly[4] = 40
  30. EndFly[5] = 30
  31. EndFly[6] = 50


  32. function Roundtext(){
  33.    
  34. for(var i = 1; i <=3; i++)
  35. {
  36. lay = document.all("fly"+i)
  37. lay.style.visibility = "visible"                                         
  38. StarFly[i*2-1] = Math.round(Math.random()*document.body.clientWidth - lay.style.posWidth)
  39.             StarFly[i*2] = Math.round(Math.random()*document.body.clientHeight- lay.style.posHeight)
  40. }

  41. Count++;
  42. if(IsFly==false)
  43. {
  44. IsFly = true;
  45. for(var i = 1; i <= 3; i++)
  46. {
  47.                        
  48. lay.style.posLeft = Math.round(StarFly[i*2-1] + (EndFly[i*2] - StarFly[i*2-1])/Fcount * Count)
  49.                                 lay.style.posTop = Math.round(StarFly[i*2] + (EndFly[i*2-1] - StarFly[i*2])/Fcount * Count)
  50. lay = document.all("fly"+i)
  51.                                                
  52. if(Count <= Fcount){IsFly = false}
  53. }
  54. TimerID = setTimeout("Roundtext()",speed)
  55. }
  56. else{clearTimeout(TimeID)}
  57. }
  58. </SCRIPT>

  59. </HEAD>
  60. <BODY onload="Roundtext()">
  61. <DIV class="Style1" id="fly1">亂數飛行集中定位的文字字串</DIV>
  62. <DIV class="Style2" id="fly2">亂數飛行集中定位的文字字串</DIV>
  63. <DIV class="Style3" id="fly3">亂數飛行集中定位的文字字串</DIV>
  64. </BODY></HTML>
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)