zoukankan      html  css  js  c++  java
  • 最简单实用的JQuery实现banner图中的text打字动画效果!!!

    下面,就让小博详细介绍如何实现上面GIF实现的banner图中的文字动画效果,最简单实用的方法(鉴于代码量较小,就内嵌在一个HTML文件中了):

    首先,我们要在header导入一个jQuery,并新建一个CSS标签,在body部分建立一个外层的div,取一个ID,里面再建立一个内层的div,取一个ID,内层div里,新建一个h1标签和一个p标签,将您显示的文字放到里面,示例代码如下:

    	
               <div id="table">
    			
    			<div id="centeralign">
    				<h1 id="h1">Sample typing effect.</h1>
    				<p>Lorem ipsum dolor sit amet  放入您的文字</p>
    			</div>
    			
    		</div>
            
    

      

    下面,在CSS标签中修改body部分的布局样式,小博使用了简单有效的弹性布局来实现的,效果图及代码如下:

    代码如下,注意布局完成之后要先将p标签none掉:

    <style type="text/css">
                body,
                html {
                    margin: 0;
                    height: 100%;
                    
                    font-family: 'Oxygen Mono', monospace;
                    color: #999;
                }
                
                
                
                #table {
                    
                    width: 100%;
                    height: 100%;
                    background-color: #e5e5e5;
                }
                
                #centeralign {
                    width: 100%;
                    height: 100%;
                    display: flex;                
                    flex-direction:column;
                    align-items: center;
                    justify-content: center;    
                }
                #centeralign h1 {
                    display: inline-block;
                    text-transform: uppercase;
                    letter-spacing: 1pt;
                    font-size: 30pt;
                    margin-bottom: 15px;
                }
                
                #centeralign p {
                    text-align: left;
                    margin: 0;
                    text-transform: lowercase;
                    font-size: 10pt;
                    font-weight: 900;
                    width: 50%;
                    display: none;
                }
            </style>

    接下来在body的里面,新建一个JS标签,利用定时器和延时器来实现banner中的文字动画效果:

    主要有两点:

          1:声明一个函数,传入两个参数  元素:element ; 速度:speed。

            定义:①var text = $(element).text();

               ②$(element).html('');

                 ③var i = 0;

              此函数取到了,全局的text,利用延时器延迟出现每个字符,但是h1标签会和

          2:利用延时器,将h1和p标签,延时分别打印,即将h1标签的文字,打印完成之后,再执行p标签的打印工作;

            定义:①定义  var  speed = 75  (数值可以自己定义);

               ② 定义一个变量   var delay = $('h1').text().length * speed ;------------取到h1打印完成的时间

               ③ 定义p标签的一个延时器,延时时间即为h1标签的打印完成时间,这里不要忘记把CSS中none掉的p标签,取到display,设为inline-block

               ④ 将打印速度通过函数传参,分别将speed赋给h1和p标签;

            JS完整代码如下:

          

    <script>
    			function typeEffect(element, speed) {
    				var text = $(element).text();
    				$(element).html('');
    				var i = 0;
    				var timer = setInterval(function() {
    					if (i < text.length) {
    						$(element).append(text.charAt(i));
    						i++;
    					} else {
    						clearInterval(timer);
    					}
    				}, 30);
    			}
    			$(document).ready(function() {
    				var speed = 75;
    				var delay = $('h1').text().length * speed ;
    				typeEffect($('h1'), speed);
    				setTimeout(function() {
    					$('p').css('display', 'inline-block');
    					typeEffect($('p'), speed);
    				}, delay);
    			});
    		</script>
    

     那么,一个简单实用的banner图的文字动画效果,就完成了。希望各位博主,能对小博提出建议,不断完善修改,小博定当虚心修改,不断进步。 

  • 相关阅读:
    python socket练习
    python异常处理
    python类的反射
    类的特殊成员方法
    staticmethod classmethod property方法
    类的多态
    类的析构、继承
    python subprocess模块
    python面向对象
    discuz 使模板中的函数不解析 正常使用
  • 原文地址:https://www.cnblogs.com/xyq1107/p/7535554.html
Copyright © 2011-2022 走看看