html:<div id="div_re" style="overflow:hidden;height:132px;width:500px; border:1px solid #dde5bc; overflow:hidden;">
 <div id=div_re1> 主体
</div>
 <div id=div_re2></div>
</div>脚本: function scroll(){
var re=document.getElementById("div_re");
var re2=document.getElementById("div_re2");
var re1=document.getElementById("div_re1");
re2.innerHTML=re1.innerHTML
function Marquee3(){
 if(re2.offsetTop-re.scrollTop<=0)
  re.scrollTop-=re1.offsetHeight
 else{
 re.scrollTop++
 }
}
var MyMar3=setInterval(Marquee3,speed)
re.onmouseover=function() {clearInterval(MyMar3)}
re.onmouseout=function() {MyMar3=setInterval(Marquee3,speed)}
}
scroll();这是滚动代码我现在有个四个标签 每点击一次标签,主体动态调用数据,但是,主体html结构一样。问为什么切换过来后就不滚动了?老是提示指明错误。    首次加载的时候是可以滚动的。

解决方案 »

  1.   

    var re=document.getElementById("div_re");
    var re2=document.getElementById("div_re2");
    var re1=document.getElementById("div_re1");你那个几个标签里面的id得换一下吧~·
    这个默认应该拿的是第一个标签下面的id你后门几个选项卡,里面的滚动,把ID改一下,要不就把这个方法封装成一个方法,然后外面传入三个id当参数~·
      

  2.   

    没试你原来的行不行,下面的没问题,如果有问题,原因只能是你更换后的内容,行数太少,不够滚动的要求。<div id="div_re" style="overflow:hidden;height:132px;width:500px; border:1px solid #dde5bc; overflow:hidden;">
     <div id=div_re1>主体<br/>theforever_csdn<br/>赵亮<br/>碧海情天<br/>assssss<br/></div>
     <div id=div_re2>sss</div>
    </div>
    <input type="button" onclick='document.getElementById("div_re1").innerHTML=document.getElementById("div_new1").innerHTML;' value="更换内容1">
    <input type="button" onclick='document.getElementById("div_re1").innerHTML=document.getElementById("div_new2").innerHTML;' value="更换内容2">
     <div id=div_new1 style="display:none">主体<br/>theforever_csdn<br/>aaaaaaa_赵亮_cccc<br/>aaaa_碧海情天_aaaa<br/>aaaaa<br/></div>
     <div id=div_new2 style="display:none">主体<br/>theforever_csdn<br/>bbbb_赵亮_dddd<br/>bbbb_碧海情天_dddd<br/>bbbb<br/></div>
    <script type="text/javascript">
    var speed=500,re,re1,re2;
    re=document.getElementById("div_re");
    re1=document.getElementById("div_re1");
    re2=document.getElementById("div_re2");
    function Marquee3(){
     if(re2.offsetTop-re.scrollTop<=0)
      re.scrollTop-=re1.offsetHeight;
     else{
     re.scrollTop++;
     }
    }
    function scroll(){
    re2.innerHTML=re1.innerHTML;
    var MyMar3=setInterval(Marquee3,speed);
    re.onmouseover=function() {clearInterval(MyMar3)};
    re.onmouseout=function() {MyMar3=setInterval(Marquee3,speed)};
    }
    scroll();
    </script>