样式
.scroll_div {
width:614px;
height:146px;
margin:0 auto;
overflow: hidden;
white-space: nowrap;
background:#ffffff;
}
页面片段:<div id="scroll_div" class="scroll_div">
      <div id="scroll_begin" style="width:800px">
        <ul>
          。(此处为数据中取出值,<li><a><img /></a><p><a></a></p></li>格式)
        </ul>
      </div>
      <div id="scroll_end"></div>
    </div>js:
var speed=10
var scroll_begin = document.getElementById("scroll_begin");
var scroll_end = document.getElementById("scroll_end");
var scroll_div = document.getElementById("scroll_div");
scroll_end.innerHTML=scroll_begin.innerHTML  function Marquee(){
    if(scroll_end.offsetWidth-scroll_div.scrollLeft<=0){
      scroll_div.scrollLeft-=scroll_begin.offsetWidth
  }
    else{
      scroll_div.scrollLeft+=3;
  }
  }问题:scroll_div.scrollWidth所取的值不是scroll_begin.offsetWidth和scroll_end.offsetWidth的和所以无法连续滚动。求高手解答

解决方案 »

  1.   

    2个div貌似竖着排了。scroll_begin和scroll_end把 overflow: hidden; 改成overflow: scroll;

    function Marquee(){
      window.status = scroll_end.offsetWidth + ":" + scroll_div.scrollLeft;运行时看下状态栏,看看为啥停住。
      

  2.   

    。2个div貌似竖着排了。scroll_begin和scroll_end怎么竖着排了???
    window.status = scroll_end.offsetWidth + ":" + scroll_div.scrollLeft;。。在状态栏没看到东西
      

  3.   

    .scroll_div {
    width:614px;
    height:146px;
    margin:0 auto;
    overflow: hidden;
    white-space: nowrap;
    background:#ffffff;
    }根据宽度来计算机的~
      

  4.   

    这个我知道看。。<div id="scroll_begin" style="width:800px">我这设置了他里面的div的width,他的宽度大于了他外层的div,而且scroll_end.innerHTML=scroll_begin.innerHTML,相当于width*2应该比外层的大很多了现在就是外层div的滚动宽度scrollWidth不等里层div的offsetWidth之和