菜鸟的问题?????????????????????

smf_13 2001-12-10 04:23:06
我是初学者,下面这个程序我是从网上下载过来的,有很多地方我没有看懂,不知哪位好心人帮我注释一下,我想,这个程序应该还是比较简单的吧,就是看起来烦了一点。不好意思,大家就帮帮忙吧。。。。

<% @ language=javascript %>
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
var max=0;
function textlist()
{
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl = new textlist(
" 随着INTERNET时代的逐步到来,人们对网络的认识与感知越来越深刻",
"上网主要是进行web页面浏览,所以web页面的精彩程度对一个网站的生",
"人通过制作个人主页展现自己的才华,而且,由于出现了多种制作网页的软件",
"但是,光用软件就成制作出你想要的各种页面效果吗?答案肯定是否定的但是,光用软件就成制作出你想要的各种页面效果吗?答案肯定是否定的",
"JavaScript是Netscape(网景)公司首先推出的一种针对WEB页面的解释型语"
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker()
{
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l)
{
pos = 0;
setTimeout("textticker()", 2000);
if(++x == max)
x = 0;
l = tl[x].length;
}
else
setTimeout("textticker()", 50);
}

</script>
</head>
<body bgcolor="#fef4d9" OnLoad="textticker()">
<form name=tickform>
<textarea name=tickfield rows=3 cols=38 style="background-color: rgb(0,0,0); color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 12px" wrap=virtual>The news will appear here when the page has finished loading.</textarea>
</form>
</body>
</html>
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ohno 2001-12-11
  • 打赏
  • 举报
回复
厉害厉害
写这么多字
至少给他点辛苦分啊
要不对的起谁啊
smf_13 2001-12-11
  • 打赏
  • 举报
回复
谢谢楼上的大哥,我还有个问题,就是下面代码中的
***** this[i]=textlist.arguments[i];*****this[i]这个数组在整个代码中起什么作用,它好像在下面的代码中没有再出现了。
<% @ language=javascript %>
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
var max=0;
function textlist()
{
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}

smf_13 2001-12-11
  • 打赏
  • 举报
回复
谢谢楼上的大哥,我还有个问题,就是下面代码中的
***** this[i]=textlist.arguments[i];*****this[i]这个数组在整个代码中起什么作用,它好像在下面的代码中没有再出现了。
<% @ language=javascript %>
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
var max=0;
function textlist()
{
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}

smf_13 2001-12-11
  • 打赏
  • 举报
回复
<% @ language=javascript %>
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
var max=0;
function textlist()
{
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
zosatapo 2001-12-10
  • 打赏
  • 举报
回复
反正今天上网还有一点时间,就跟你讲更详细一点了。

1#function textlist()

上面已经解释了。实际上你就可以这样定义就可以了实现同样的功能。
代码如下:
tl = new Array(
" 随着INTERNET时代的逐步到来,人们对网络的认识与感知越来越深刻",
"上网主要是进行web页面浏览,所以web页面的精彩程度对一个网站的生",
"人通过制作个人主页展现自己的才华,而且,由于出现了多种制作网页的软件",
"但是,光用软件就成制作出你想要的各种页面效果吗?答案肯定是否定的但是,光用软件就成制作出你想要的各种页面效果吗?答案肯定是否定的",
"JavaScript是Netscape(网景)公司首先推出的一种针对WEB页面的解释型语"
);


2#function textticker()
{
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
//这一字符串是否还有字符显示呢,通过当前位置与字符串长度比较得到
//如果字符串还有字符显示的话,延时50毫秒显示下一个字符
//如果字符串显示结束,延时2000毫秒后显示下一个字符串
//转移到下一个字符串显示前应该把字符长度以及当前位置重新设置
//这样循环就可以显示字符串
//所以字符串显示结束后,重新开始新一轮显示
if(pos++ == l)
{
pos = 0;
setTimeout("textticker()", 2000);
if(++x == max)
x = 0;
l = tl[x].length;
}
else
setTimeout("textticker()", 50);
}


zosatapo 2001-12-10
  • 打赏
  • 举报
回复
真是不好意思,看了你辛苦拷贝来的代码,也有一点启发的作用。作为回报,我只好讲一下他们是任何工作的了,希望讲的能够使听的人明白:

1#function textlist()

此函数相当于面向对象语言中类定义。实际上这里完全可以用数组来代替的,因为他起的也只有一个数组的作用而已。关于 textlist.arguments.length是取参数,关于参数请你参阅msdn相关文章。

现在我们可以这样理解,就是生成一个数组,他那些字符串放在里面而已。

2#textticker()
函数功能简单的说就是显示字符串,是有延迟的显示字符串(setTimeout函数)。
每个数组字符串显示以及单个字符显示之间有延迟设置。

从原理讲主要就是这样,你可以用很多中技术来实现这样的功能。

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧