用js实现简单跑马灯效果

1,387 阅读1分钟

主要知识点:
1.字符串的截取:
substr(1):从索引为1的字符开始一直到最后一个字符,
substr(0,1)从索引为0开始,截取一个字符
2.定时器:
setInterval():按照指定周期(以毫秒为单位)来调用函数或计算表达式,方法会不停的调用函数,clearInterval()可用来关闭。
setTimeout():在指定多少秒后调用函数或表达式
格式为:

 timer = setInterval(function(){
 
                  },100)

跑马灯实现效果:
1.点击‘向左’文字向左移动;
2.点击‘向右’文字向右移动;
3. 一直点同一个按钮不能加速保持原状态;
4.点完一个按钮再点另一个按钮效果不能重复;

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>用js来实现跑马灯效果</title>
      <style>
      	  p{
      	  	font-size: 50px;
      	  	color: gold;
      	  }
      	  div{
      	  	width:500px;
      	  	height: 300px;
      	  	margin: 200px auto;
      	  }

      </style>
       <script>
       	  window.onload = function (){
       	  	var timer;
       	  	 function $(id){
       	  	 	return document.getElementById(id);
       	  	 } 

                $('left').onclick = function (){  //每次将第一个字符放在最后,实现向左跑马灯效果
                	clearInterval(Rtimer);    //防止向左向右重合,将向右效果清除
                	if(timer){
                		clearInterval(timer);
                	}
                  timer = setInterval(function(){
    				var txt = $('spin').innerHTML;
    				var first = txt.substr(0,1); //substr为截取字符串 截取第一个字符;
    				var last = txt.substr(1); //截取从第二个开始到最后一个字符;
    				$('spin').innerHTML =  last+first;
                  },100)
                }
                var Rtimer;
                $('right').onclick = function (){
                	clearInterval(timer);    //防止向左向右重合,将向左效果清除
 					Rtimer = setInterval(function(){   //每次将最后一个字符放在最前面;实现向右跑马灯效果
 						var content = $('spin').innerHTML;
 						var First = content.substr(14,1); //截取从第十四个开始第一个字符,即第十五个字符
 						var Last = content.substr(0,14); //截取从第0个开始前14个字符;
 						$('spin').innerHTML = First + Last;
 					},100)
                }  
       	  }
       </script>
</head>
<body>
	<div>
	  <p id="spin">JavaScript语言强大!</p>
	  <button id="right" >向右</button>
	  <button id="left"  >向左</button>
	</div>
</body>
</html>