<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • Javascrpit之打字機(jī)效果

          2018-6-25    seo達(dá)人

          如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點(diǎn)這里

          今天來看看怎么實現(xiàn)炫酷的打字機(jī)效果。即把一段話一個字一個字的顯示出來。

          效果圖:

          實現(xiàn)思路:

          首先規(guī)定好顯示字?jǐn)?shù)的速度即settimeout執(zhí)行間隔用來控制每個字之間輸出速度。再把判斷段落的總字?jǐn)?shù),循環(huán)段落總字?jǐn)?shù)來實現(xiàn)一個字一個字的輸出。

          js代碼:

          
              
          1. var theNewsNum;
          2. var theAddNum;
          3. var totalNum;
          4. var CurrentPosion=0;
          5. var theCurrentNews;
          6. var theCurrentLength;
          7. var theNewsText;
          8. var theTargetLink;
          9. var theCharacterTimeout;
          10. var theNewsTimeout;
          11. var theBrowserVersion;
          12. var theWidgetOne;
          13. var theWidgetTwo;
          14. var theSpaceFiller;
          15. var theLeadString;
          16. var theNewsState;
          17. function startTicker(){
          18. // ------ 設(shè)置初始數(shù)值
          19. theCharacterTimeout = 50;//字符間隔時間
          20. theNewsTimeout = 2000;//新聞間隔時間
          21. theWidgetOne = "_";//新聞前面下標(biāo)符1
          22. theWidgetTwo = "-";//新聞前面下標(biāo)符
          23. theNewsState = 1;
          24. theNewsNum = document.getElementById("incoming").children.AllNews.children.length;//新聞總條數(shù)
          25. theAddNum = document.getElementById("incoming").children.AddNews.children.length;//補(bǔ)充條數(shù)
          26. totalNum =theNewsNum+theAddNum;
          27. theCurrentNews = 0;
          28. theCurrentLength = 0;
          29. theLeadString = " ";
          30. theSpaceFiller = " ";
          31. runTheTicker();
          32. }
          33. // --- 基礎(chǔ)函數(shù)
          34. function runTheTicker(){
          35. if(theNewsState == 1){
          36. if(CurrentPosion<theNewsNum){
          37. setupNextNews();
          38. }
          39. else{
          40. setupAddNews();
          41. }
          42. CurrentPosion++;
          43. if(CurrentPosion>=totalNum||CurrentPosion>=1){
          44. CurrentPosion=0;//最多條數(shù)不超過num_gun條
          45. }
          46. }
          47. if(theCurrentLength != theNewsText.length){
          48. drawNews();
          49. }
          50. else{
          51. closeOutNews();
          52. }
          53. }
          54. // --- 跳轉(zhuǎn)下一條新聞
          55. function setupNextNews(){
          56. theNewsState = 0;
          57. theCurrentNews = theCurrentNews % theNewsNum;
          58. theNewsText = document.getElementById("AllNews").children[theCurrentNews].children.Summary.innerText;
          59. theTargetLink = document.getElementById("AllNews").children[theCurrentNews].children.Summary.children[0].href;
          60. theCurrentLength = 0;
          61. document.all.hottext.href = theTargetLink;
          62. theCurrentNews++;
          63. }
          64. function setupAddNews() {
          65. theNewsState = 0;
          66. theCurrentNews = theCurrentNews % theAddNum;
          67. theNewsText = document.getElementById("AllNews").children[theCurrentNews].children.Summary.innerText;
          68. theTargetLink = document.getElementById("AllNews").children[theCurrentNews].children.Summary.children[0].href;
          69. theCurrentLength = 0;
          70. document.all.hottext.href = theTargetLink;
          71. theCurrentNews++;
          72. }
          73. // --- 滾動新聞
          74. function drawNews(){
          75. var myWidget;
          76. if((theCurrentLength % 2) == 1){
          77. myWidget = theWidgetOne;
          78. }
          79. else{
          80. myWidget = theWidgetTwo;
          81. }
          82. document.all.hottext.innerHTML = theLeadString + theNewsText.substring(0,theCurrentLength) + myWidget + theSpaceFiller;
          83. theCurrentLength++;
          84. setTimeout("runTheTicker()", theCharacterTimeout);
          85. }
          86. // --- 結(jié)束新聞循環(huán)
          87. function closeOutNews(){
          88. document.all.hottext.innerHTML = theLeadString + theNewsText + theSpaceFiller;
          89. theNewsState = 1;
          90. setTimeout("runTheTicker()", theNewsTimeout);
          91. }
          92. window.onload=startTicker;
          藍(lán)藍(lán)設(shè)計www.sdgs6788.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

          日歷

          鏈接

          個人資料

          藍(lán)藍(lán)設(shè)計的小編 http://www.sdgs6788.com

          存檔

          国内精品久久久久久久久| 久久精品综合网| 好属妞这里只有精品久久| 66精品综合久久久久久久| 热综合一本伊人久久精品 | 国产精品久久久久久| 国产毛片久久久久久国产毛片| 天天影视色香欲综合久久| 久久久久久久亚洲Av无码| 一本久久久久久久| 狠狠色丁香婷婷久久综合| 99久久精品国产综合一区| 成人久久精品一区二区三区| 亚洲狠狠婷婷综合久久久久| 色婷婷狠狠久久综合五月| 久久这里有精品| 精品午夜久久福利大片| 99久久99久久精品国产片果冻| 国产高潮国产高潮久久久| 亚州日韩精品专区久久久| 国产高潮国产高潮久久久91| 久久亚洲中文字幕精品有坂深雪| 亚洲国产高清精品线久久 | 99久久99久久精品国产片果冻| 久久99精品久久久久久秒播| 久久久久99精品成人片直播| 久久人人爽人人爽人人片AV麻烦| 久久久久国产精品嫩草影院 | 伊人久久大香线蕉AV色婷婷色 | 国产精品伊人久久伊人电影| 日本精品久久久久中文字幕8 | 久久精品综合一区二区三区| 国产精品久久久久aaaa| 国内精品久久久久| 久久91精品国产91久久户| 久久被窝电影亚洲爽爽爽| 999久久久免费精品国产| 国产午夜免费高清久久影院| 久久精品蜜芽亚洲国产AV| 97久久精品午夜一区二区| 97r久久精品国产99国产精|