ClavinJune

Animasi mengetik jquery

Jul 5th, 2017
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <html>
  2. <head>
  3.     <title></title>
  4.     <style type="text/css">
  5.         #output, #cursor{
  6.             font-size: 100px;
  7.             text-shadow: 0 0 8px #FF0000, 0 0 50px #0000FF;
  8.         }
  9.         #output{
  10.             color: #fff;
  11.         }
  12.         #cursor{
  13.             color: #a00;
  14.         }
  15.     </style>
  16. </head>
  17. <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
  18. <!-- <script type="text/javascript" src="jquery.min.js"></script> -->
  19.  
  20. <body>
  21. <span id="output"></span><span id="cursor">|</span>
  22.  
  23. <script type="text/javascript">
  24.  
  25.     $(document).ready(function(){
  26.  
  27.     /* fungsi untuk membuat character pipe kedip2*/
  28.     setInterval(function(){
  29.         $('#cursor').fadeToggle();
  30.     },100);
  31.  
  32.     //===============================//
  33.     // Animasi Mengetik Dengan Typo //
  34.     //=============================//
  35.  
  36.         /* Text yang akan dimunculkan */
  37.         var text  = ["Clavin June", "Jonathan Ramlie", "Vincent Colin", "Billy Purnama", "Gregory Sykes", "Yip Man"];
  38.  
  39.         /* index per kata */
  40.         var index = 0;
  41.  
  42.         /* index per array */
  43.         var arr   = -1;
  44.  
  45.         /* flag mengecheck apakah dia harus dihapus */
  46.         var clear = true;
  47.  
  48.         /* flag mengecheck apakah dia melakukan typo */
  49.         var typo  = false;
  50.  
  51.         /* div target tulisan yang akan diketik */
  52.         var out   = $('#output');
  53.  
  54.         /* fungsi mengetik mulai dari sini */
  55.         setInterval(function(){
  56.             /* jika tidak typo (false), mengetik seperti biasa*/
  57.             if( !typo ){
  58.                 /*jika hapus (true), menghapus tulisan sampai habis*/
  59.                 if( clear ){
  60.                     out.text(out.text().slice(0,out.text().length-1));
  61.                     if( out.text().length == 0 ){
  62.                         index = 0;
  63.                         arr++;
  64.                         clear = !clear;
  65.                         if( arr == text.length )
  66.                             arr = 0;
  67.                     }
  68.                 //jika index < panjang katanya, dia mengetik
  69.                 }else if( index < text[arr].length ){
  70.                     /*chance typo 50%*/
  71.                     if( Math.floor(Math.random()*2) == 1 ){
  72.                         /*typo yg akan diketik 50% huruf besar 50% huruf kecil*/
  73.                         out.append((Math.floor(Math.random()*2) == 1) ? String.fromCharCode(Math.floor(Math.random()*26+97)) : String.fromCharCode(Math.floor(Math.random()*26+65)));
  74.                         /*mengubah status typo menjadi true, agar masuk ke else paling bawah*/
  75.                         typo = !typo;
  76.                     /*change tidak typo 50%, menulis seperti biasa*/
  77.                     }else{
  78.                         out.append(text[arr][index]);
  79.                         index++;
  80.                     }
  81.                 /* jika index == panjang kata artinya kata tersebut sudah selesai
  82.                    mengubah flag hapus menjadi true, agar masuk mode menghapus
  83.                 */
  84.                 }else
  85.                     clear = !clear;
  86.             /*Jika typo (true) dia menghapus 1 character, lalu flag typo menjadi false*/
  87.             }else{
  88.                 out.text(out.text().slice(0,out.text().length-1));
  89.                 typo = !typo;
  90.             }
  91.         /*mengetik 75ms/huruf*/
  92.         },75);
  93.  
  94.  
  95.     //===================//
  96.     // Animasi Mengetik //
  97.     //=================//
  98.         // var text  = "Clavianus Juneardo";
  99.         // var index = 0;
  100.         // var out   = $('#output');
  101.  
  102.         // /* ketik dimasukan kedalam variable agar bisa dihentikan */
  103.         // var ketik =  setInterval(function(){
  104.  
  105.         //  /* menambahkan 1 huruf ke target */
  106.         //  out.append(text[index]);
  107.  
  108.         //  /*index bertambah*/
  109.         //  index++;
  110.  
  111.         //  /*jika semua huruf tekah terketik*/
  112.         //  if( index == text.length )
  113.  
  114.         //      /*hentikan fungsi interval*/
  115.         //      clearInterval(ketik);
  116.  
  117.         // /* mengetik 75ms/huruf */
  118.         // },75);
  119.  
  120.     //==============================//
  121.     // Animasi Mengetik & menghapus//
  122.     //============================//
  123.         // var text  = "Clavianus Juneardo";
  124.         // var index = 0;
  125.         // var out   = $('#output');
  126.  
  127.         // /* flag yang menandakan kapan harus menghapus */
  128.         // var clear = false;
  129.  
  130.         // setInterval(function(){
  131.         //  /* jika hapus (true) */
  132.         //  if( clear ){
  133.         //      /* hapus kata perhuruf */
  134.         //      out.text(out.text().slice(0,out.text().length-1));
  135.         //      if( out.text().length == 0 ){
  136.         //          index = 0;
  137.         //          clear = !clear;
  138.         //      }
  139.  
  140.         //  /* jika tidak hapus(false) */
  141.         //  }else{
  142.         //      /*ketik perhuruf*/
  143.         //      out.append(text[index]);
  144.         //      index++;
  145.  
  146.         //      /*jika emua huruf sudah diketik, masuk mode hapus*/
  147.         //      if( index == text.length ){
  148.         //          clear = !clear;
  149.         //      }
  150.         //  }
  151.  
  152.         // /* mengetik 75ms/huruf */
  153.         // },75);
  154.  
  155.     //==============================//
  156.     // Animasi Mengetik array & menghapus//
  157.     //============================//
  158.         // var text  = ["Clavianus Juneardo", "Clavin June", "CV17-1"];
  159.         // var index = 0;
  160.         // var arr   = -1;
  161.         // var out   = $('#output');
  162.  
  163.         // /* flag yang menandakan kapan harus menghapus */
  164.         // var clear = false;
  165.  
  166.         // setInterval(function(){
  167.         //  /* jika hapus (true) */
  168.         //  if( !clear ){
  169.  
  170.         //      /* hapus kata perhuruf */
  171.         //      out.text(out.text().slice(0,out.text().length-1));
  172.  
  173.         //      /*jika sudah tidak ada lagi kata yg harus di hapus*/
  174.         //      if( out.text().length == 0 ){
  175.         //          /*kembalikan index ke 0*/
  176.         //          index = 0;
  177.  
  178.         //          /* tambah index agar hasil ketikan berbeda*/
  179.         //          arr++;
  180.  
  181.         //          /*jika sudah sampai array terakhir*/
  182.         //          if( arr == text.length ){
  183.         //              /*kembalikan ke array ke 0*/
  184.         //              arr = 0;
  185.         //          }
  186.         //          clear = !clear;
  187.         //      }
  188.  
  189.         //  /* jika tidak hapus(false) */
  190.         //  }else{
  191.         //      /*ketik perhuruf*/
  192.         //      out.append(text[arr][index]);
  193.         //      index++;
  194.         //      /*jika emua huruf sudah diketik, masuk mode hapus*/
  195.         //      if( index == text[arr].length ){
  196.         //          clear = !clear;
  197.         //      }
  198.         //  }
  199.  
  200.         // /* mengetik 75ms/huruf */
  201.         // },75);
  202.     });
  203.  
  204.  
  205.    
  206.  
  207. </script>
  208. </body>
  209. </html>
Add Comment
Please, Sign In to add comment