大家好,新手请帮忙
1、d.step=step;d.samont=samont,d在这里边是一个<div>,<div>有这两个属性吗?是什么意思
2、scrolln(this.id),个人理解这个函数跟scrolln(id,samont,step)不是同一个函数,那么这个函数在那里声明了呢?
3、如果scrolln(this.id)和scrolln(id,samont,step)是同一个函数,这个scrolln应该有3个参数,他这里为什么只有一个参数?同理 handle=setInterval("scrolln('"+id+"')",d.samont)中"scrolln('"+id+"')"也是只有一个参数?
4、d.removeChild(o); d.appendChild(o);d.firstChild;scrolln(this.id),这些是不是都是<div>的固有属性或方法? 
5、为什么嵌套<div>?<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  <html   xmlns="http://www.w3.org/1999/xhtml">   
  <head>   
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"   />   
  <title>无缝滚动</title>   
  </head>   
    
  <body>   
  <style>a{display:block;font-size:15px};</style>   
  <div   id="div1" style="width:300px;height:68px;overflow:hidden">  
  <div  id="div2" style="margin-top:0px;line-height:20px;"> 
      <a   href="javascript:">1,你可曾有过无数的梦想,</a>   
      <a   href="javascript:">2,却在时光的流逝里幻灭   </a>   
      <a   href="javascript:">3,你可曾对未来期待憧憬,</a>   
      <a   href="javascript:">4,却在成长的岁月中迷失</a>   
      <a   href="javascript:">5,CSDN中国程序员论坛</a>   
      <a   href="javascript:">6,大家一起来</a>   
      <a   href="javascript:">7,好象都很不错的样子</a>   
  </div>  </div> 
<input type=text id=text1>    
  <script> 
var bb;
var handle  
  function scrolln(id,samont,step)
{
    var  d=document.getElementById(id);
    if(!handle)
    {       if(step)
       {
         d.step=step;d.samont=samont;
       }
       handle=setInterval("scrolln('"+id+"')",d.samont);//不同的是setTimeout()是一次性作用,而setInterval()是每隔iMilliSeconds就执行一次
      
 d.onmouseover=function()
       {
          clearInterval(handle);
          handle=null;
       }   
      d.onmouseout=function()
      {
        scrolln(this.id)
      }
    }
    var top=parseInt(d.style.marginTop);  // 方法用于字符串转换为数字
    var lineheight=parseInt(d.style.lineHeight);    if(top>-lineheight)
    {
      d.style.marginTop=(top-d.step)+"px";
     //text1.value= d.style.marginTop+"/"+top+"/"+lineheight+"/"+d.step+"/"+d.firstChild;
    }
    else
    {
     do
     {
        var o=d.firstChild; 
        d.removeChild(o); 
        d.appendChild(o); 
     }
     while(!d.firstChild.tagName) 
     d.style.marginTop="0px";
    }
}
//第一个参数为要滚动块的标签id,第二个参数为滚动间隔时间,第三个参数为滚动距离px
  scrolln("div2",100,1);
  </script>   
  </body>   
  </html>

解决方案 »

  1.   

    <div id="marquees">
    1.新闻标题<br>
    2.新闻标题<br>
    3.新闻标题<br>
    </div> <script language="JavaScript">
    marqueesHeight=120;
    stopscroll=false;with(marquees){
      style.width=0;
      style.height=marqueesHeight;
      style.overflowX="visible";
      style.overflowY="hidden";
      noWrap=true;
      onmouseover=new Function("stopscroll=true");
      onmouseout=new Function("stopscroll=false");
    }
    document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');preTop=0; currentTop=0; function init(){
      templayer.innerHTML="";
      while(templayer.offsetHeight<marqueesHeight){
        templayer.innerHTML+=marquees.innerHTML;
      }
      marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
      setInterval("scrollUp()",150);
    }
    document.body.onload=init;function scrollUp(){
      if(stopscroll==true) return;
      preTop=marquees.scrollTop;
      marquees.scrollTop+=1;
      if(preTop==marquees.scrollTop){
        marquees.scrollTop=templayer.offsetHeight-marqueesHeight;
        marquees.scrollTop+=1;
      }
    }
    </script>
      

  2.   


    没有时间看你后边的代码,试着猜测你的问题回答一下:1. javascript是“随意增加对象属性的”。比如一个<span id=abc>,你可以随便给它增加abc.p属性。javascript容易混乱,因为对属性的应用不预先进行语义分析,各处可以胡乱对属性进行增加、使用,是否冲突需要编程者用“心灵”去保证,而javascript并不保证。2. 呵呵,这是javascript!函数仅仅用名称来区分,不区分参数。3. 没有提供的参数,等价于用undifined(相当于c#的null)作为参数值。4. http://www.poptool.net/docs/dhtml/methods.html,http://www.poptool.net/docs/dhtml5. 没有看你的代码。猜一下:要想让首位衔接地滚动,需要让<div>中的被滚动对象是两个完全一样的,并且这两个的总长度(高度)大于<div>的长度(高度)。如果不大,就应该复制第三个.....。通常,你放入第一个,程序可能就自动把你放入的这个东西的InnerHTML复制一份或者多份。所以你可以在<div>里边放入一个<div>,程序自动对内部的<div>再抽取InnerHTML自动复制出多个内部<div>。
      

  3.   

    undifined  -->  undefined