我写了一个状态栏的跑马灯,想实现在中间一段转换,但到中间空格处就不截取文字的字符串而直接跳回到最右端.
这里有两个display()和display2()方法,display()在状态栏最左端切换时是截取字符串的,而display2()想在中间位置转换,但是直接跳过了,没有截取字符串的过程!
代码如下:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<script language="javascript">
var str="你好,欢迎访问我的主页你好,欢迎访问我的主页";
var pos=0;
var nullStr="";
for(var i=0;i<100;i++)
{
str=" "+str;
}
for(var j=0;j<50;j++)
{
nullStr=nullStr+" ";
}
function display()
{
var showStr=str.substring(pos++);
if(pos==str.length)
{
pos=0;
}
window.status=showStr;
setTimeout("display()",150);
}
function display2()
{
if(pos<50)
{
var showStr=str.substring(pos++)
window.status=showStr;
}
if(pos>=50)
{
pos=0;
var showStr="你好,欢迎访问我的主页".substring(pos);
window.status=nullStr+showStr;
pos++;
if(pos=="你好,欢迎访问我的主页".length)
{
pos=0;
}
}
setTimeout("display2()",150);
}</script>
</head>
<body onload="display2()">
</body>
这里有两个display()和display2()方法,display()在状态栏最左端切换时是截取字符串的,而display2()想在中间位置转换,但是直接跳过了,没有截取字符串的过程!
代码如下:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<script language="javascript">
var str="你好,欢迎访问我的主页你好,欢迎访问我的主页";
var pos=0;
var nullStr="";
for(var i=0;i<100;i++)
{
str=" "+str;
}
for(var j=0;j<50;j++)
{
nullStr=nullStr+" ";
}
function display()
{
var showStr=str.substring(pos++);
if(pos==str.length)
{
pos=0;
}
window.status=showStr;
setTimeout("display()",150);
}
function display2()
{
if(pos<50)
{
var showStr=str.substring(pos++)
window.status=showStr;
}
if(pos>=50)
{
pos=0;
var showStr="你好,欢迎访问我的主页".substring(pos);
window.status=nullStr+showStr;
pos++;
if(pos=="你好,欢迎访问我的主页".length)
{
pos=0;
}
}
setTimeout("display2()",150);
}</script>
</head>
<body onload="display2()">
</body>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<script language="javascript">
var str="abcdeabcde";
var pos=0;
pos1=0;
var nullStr="";
for(var i=0;i<100;i++)
{
str=" "+str;
}
for(var j=0;j<50;j++)
{
nullStr=nullStr+" ";
}
function display()
{
var showStr=str.substring(pos++);
if(pos==str.length)
{
pos=0;
}
window.status=showStr;
setTimeout("display()",50);
}
function display2()
{
if(pos<50)
{
var showStr=str.substring(pos++)
window.status=showStr;
}
if(pos>=50)
{
var showStr="abcdeabcde".substring(pos1);
window.status=nullStr + " " +showStr;
pos1++;
if(pos1=="abcdeabcde".length)
{
pos1=0;
pos=0;
}
}
setTimeout("display2()",50);
}</script>
</head>
<body onload="display2()">
</body>
</html>