<script language="JavaScript">function statusMessageObject(p,d) {  
  this.msg = MESSAGE
  this.out = " "
  this.pos = POSITION
  this.delay = DELAY
  this.i     = 0
  this.reset = clearMessage
}function clearMessage() {
  this.pos = POSITION
}var POSITION = 100 
var DELAY    = 30
var MESSAGE  = "&raquo;&para;&Oacute;&shy;&frac12;&oslash;&Egrave;&euml;JavaScript&Ecirc;&Agrave;&frac12;&ccedil;&pound;&iexcl;" 
var scroll = new statusMessageObject() function scroller() {
  for (scroll.i = 0; scroll.i < scroll.pos; scroll.i++) {
    scroll.out += " "   
  }
  if (scroll.pos >= 0)     scroll.out += scroll.msg
  else scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length
  window.status = scroll.out      scroll.out = " "      
  scroll.pos--        
  if (scroll.pos < -(scroll.msg.length)) {
   scroll.reset()
  }
  setTimeout ('scroller()',scroll.delay) }function snapIn(jumpSpaces,position) {
  var msg = scroll.msg   
  var out = "" 
  for (var i=0; i<position; i++)  
    {out += msg.charAt(i)}
  for (i=1;i<jumpSpaces;i++)    
    {out += " "}
  out += msg.charAt(position)    
  window.status = out      
  if (jumpSpaces <= 1) {  
    position++
    if (msg.charAt(position) == ' ') 
      {position++ }
    jumpSpaces = 100-position
  } else if (jumpSpaces >  3)
       {jumpSpaces *= .75}
  else
    {jumpSpaces--}
  if (position != msg.length) {
    var cmd = "snapIn(" + jumpSpaces + "," + position + ")";
    scrollID = window.setTimeout(cmd,scroll.delay);
  } else {
    window.status=""       
    jumpSpaces=0
    position=0
    cmd = "snapIn(" + jumpSpaces + "," + position + ")";
    scrollID = window.setTimeout(cmd,scroll.delay    return false 
  }
  return true
}snapIn(1000,0);  
</script>那位高手能够帮我解释一下 fucntion snapIn 这个函数??

解决方案 »

  1.   

    函数的作用是将变量MESSAGE中指定的值(这里是"&raquo;&para;&Oacute;&shy;&frac12;&oslash;&Egrave;&euml;JavaScript&Ecirc;&Agrave;&frac12;&ccedil;&pound;&iexcl;")在浏览器窗口底部状态栏上一个字符一个字符地,从右向左地弹出来。越靠近前面的字符弹的距离越远,越靠近后面的字符弹的距离越近。
    参数jumpSpaces是用来控制距离的,position是用来控制字符在字符串中的位置的。上面这段代码,几处语法错误稍微改一下,你就可以自己看到效果
    else scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length
      window.status = scroll.out      scroll.out = " "      
    这两行改为:
    else scroll.out = scroll.msg.substring(-scroll.pos,scroll.msg.length);
      window.status = scroll.out;
      scroll.out = " ";scrollID = window.setTimeout(cmd,scroll.delay    return false 
    这一行改为:
    scrollID = window.setTimeout(cmd,scroll.delay);
    return false;
    var MESSAGE  = "&raquo;&para;&Oacute;&shy;&frac12;&oslash;&Egrave;&euml;JavaScript&Ecirc;&Agrave;&frac12;&ccedil;&pound;&iexcl;" 这一行""里的值你可以自己随便改改看。