奇怪

hzwqy 2002-10-06 11:17:45
下面的函数调用为何不是sc();initialize();

<SCRIPT language=JavaScript>//双击自动滚屏脚本!
var currentpos,timer;
function initialize()
{
timer=setInterval("scrollwindow()",1);
}
function sc(){
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop; window.scrollTo(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc //为何不是sc();
}
document.onmousedown=sc //为何不能是sc();
document.ondblclick=initialize//为何加括号();
</SCRIPT>
...全文
44 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzwqy 2002-10-14
  • 打赏
  • 举报
回复
thank you!
emu 2002-10-07
  • 打赏
  • 举报
回复
“sc()”表示调用sc函数
“sc”表示sc这个函数对象
“document.onmousedown=sc”表示把document的onmousedown事件指向sc函数对象,如果写成“document.onmousedown=sc()”就表示指向sc函数的返回对象了,如果这个函数能返回一个适当的函数对象也可以。试试:

<SCRIPT language=JavaScript>
var currentpos,timer;
function initialize()
{
timer=setInterval("scrollwindow()",1);
}
function sc(){
clearInterval(timer);
return sc;//加了这一句,就可以“document.onmousedown=sc()”了
}
function scrollwindow()
{
currentpos=document.body.scrollTop; window.scrollTo(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc();
}
document.onmousedown=sc()
document.ondblclick=initialize
</SCRIPT>

hzwqy 2002-10-07
  • 打赏
  • 举报
回复
下面的函数调用为何不是sc();initialize();

<SCRIPT language=JavaScript>//双击自动滚屏脚本!
var currentpos,timer;
function initialize()
{
timer=setInterval("scrollwindow()",1);
}
function sc(){
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop; window.scrollTo(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc(); //为何要括号
document.onmousedown=sc //为何不能是sc();
document.ondblclick=initialize //为何不加括号();
</SCRIPT>
emu 2002-10-06
  • 打赏
  • 举报
回复
------------------------------------------------------
if (currentpos != document.body.scrollTop)
sc //为何不是sc();
------------------------------------------------------
写错了的,应该是 sc()。你在那里抄来的代码?
这一句的意思是滚动到了页面底端就停止滚动,但是按他的写法并不会停止,你在滚到底端后用滚轮往上滚就可以看到它还会滚回来。


方工 2002-10-06
  • 打赏
  • 举报
回复
sc //为何不是sc();// sc();也可以
}
document.onmousedown=sc //为何不能是sc();规定必须是个函数名,不要和HTML语法内的onmousedown混淆
document.ondblclick=initialize//为何*加*括号();??
孟子E章 2002-10-06
  • 打赏
  • 举报
回复
document.onmousedown=sc
document.ondblclick=initialize
孟子E章 2002-10-06
  • 打赏
  • 举报
回复
if (currentpos != document.body.scrollTop)
sc() //要加();

87,996

社区成员

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

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