<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>通告</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>
BODY {
FONT-SIZE: 12px; TEXT-ALIGN: center
}
SELECT {
FONT-WEIGHT: normal; FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif
}
a:link {  color: #CC0000; text-decoration: none}
a:visited {  color: #CC0000; text-decoration: none}
a:hover {  color: #cc0000; text-decoration: none}UL {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}DIV.layout_main {
MARGIN-TOP: 0px; WIDTH: 900px}
DIV.layout_left {
FLOAT: left; WIDTH: 427px
}
.title_01 {
PADDING-LEFT: 10px; WIDTH: 426px; LINE-HEIGHT: 15px; HEIGHT: 22px! important; BACKGROUND-COLOR: #ff6600; TEXT-ALIGN: left
}
.title_01 .title_left {
BORDER-TOP: #ff6600 0px solid; FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; WIDTH: 75px; COLOR: #666666; PADDING-TOP: 0px; HEIGHT: 24px; BACKGROUND-COLOR: #eeeeee; TEXT-ALIGN: center
}#box1left LI {
PADDING-TOP: 0px;
HEIGHT: 19px;
color: #CC0000;
}
</STYLE><META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY >
<div id=notes align="left">
<DIV class=title_right id=icefable1>
<DIV id=box1left>
<UL>
  <LI><a href="about/temp_archive1.htm" target="_blank">·[通告]11海淀园区与荷兰代表团举行“中</a></LI>
  <LI><a href="about/temp_archive1.htm" target="_blank">·[通告]22关于征集参加海淀园与凤凰卫视</a></LI>
  <LI><a href="about/temp_archive1.htm" target="_blank">·[通告]33iBridge项目评审会 </a></LI>
  <LI><a href="about/temp_archive1.htm" target="_blank">·[通告]44iBridge项目评审会 </a></LI>
</UL>
</DIV>
</DIV>
<SCRIPT type=text/javascript>
marque(320,19,"icefable1","box1left")
var scrollElem;
var stopscroll;
var stoptime;
var preTop;
var leftElem;
var currentTop;
var marqueesHeight;
function marque(width,height,marqueName,marqueCName){
try{
  marqueesHeight = height;
  stopscroll     = false;   scrollElem = document.getElementById(marqueName);//大div
  with(scrollElem){
style.width     = width;
style.height    = marqueesHeight;
style.overflow  = 'hidden';
noWrap          = true;
  }   scrollElem.onmouseover = new Function('stopscroll = true');
  scrollElem.onmouseout  = new Function('stopscroll = false');   preTop     = 0; 
  currentTop = 0; 
  stoptime   = 0;   leftElem = document.getElementById(marqueCName);//小div
  scrollElem.appendChild(leftElem.cloneNode(true));
  
  init_srolltext();
}catch(e) {}
}
function init_srolltext(){
  scrollElem.scrollTop = 0;
  setInterval('scrollUp()', 20);
}function scrollUp(){
  if(stopscroll) return;
  currentTop += 1;
  if(currentTop == marqueesHeight+1) {
    stoptime += 1;
    currentTop -= 1;
    if(stoptime == (marqueesHeight)*4) {//停顿时间
      currentTop = 0;
      stoptime = 0;
    }
  }else{    preTop = scrollElem.scrollTop;    scrollElem.scrollTop += 1;
    if(preTop == scrollElem.scrollTop){
      scrollElem.scrollTop = marqueesHeight;
      scrollElem.scrollTop += 1;    }
  }
}
</SCRIPT></div>
************************************************************************
代码是从网上下的,没看懂,牛人最好能帮我详细解释下上面的js,谢谢!!!
效果基本出来,存在以下问题:
1,滚动第一轮时(如4条记录)能正常显示,但第二次滚动时前面两条记录看不到了,第3次滚动又恢复正常,第4次不正常,如此交替...先给5分,有答案在追加10分,不好意思分数很少,总共就15分了。

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>通告 </TITLE> 
    <META http-equiv=Content-Type content="text/html; charset=gb2312"> 
    <STYLE type=text/css> 
    BODY { 
    FONT-SIZE: 12px; TEXT-ALIGN: center 

    SELECT { 
    FONT-WEIGHT: normal; FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif 

    a:link {  color: #CC0000; text-decoration: none} 
    a:visited {  color: #CC0000; text-decoration: none} 
    a:hover {  color: #cc0000; text-decoration: none} UL { 
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none 
    } DIV.layout_main { 
    MARGIN-TOP: 0px; WIDTH: 900px} 
    DIV.layout_left { 
    FLOAT: left; WIDTH: 427px 

    .title_01 { 
    PADDING-LEFT: 10px; WIDTH: 426px; LINE-HEIGHT: 15px; HEIGHT: 22px! important; BACKGROUND-COLOR: #ff6600; TEXT-ALIGN: left 

    .title_01 .title_left { 
    BORDER-TOP: #ff6600 0px solid; FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; WIDTH: 75px; COLOR: #666666; PADDING-TOP: 0px; HEIGHT: 24px; BACKGROUND-COLOR: #eeeeee; TEXT-ALIGN: center 
    } #box1left LI { 
    PADDING-TOP: 0px; 
    HEIGHT: 19px; 
    color: #CC0000; 

    </STYLE> <META content="MSHTML 6.00.2900.2963" name=GENERATOR> </HEAD> 
    <BODY > 
    <div id=notes align="left"> 
    <DIV class=title_right id=icefable1> 
    <DIV id=box1left> 
    <UL> 
      <LI> <a href="about/temp_archive1.htm" target="_blank">·1[通告]11海淀园区与荷兰代表团举行“中 </a> </LI> 
      <LI> <a href="about/temp_archive1.htm" target="_blank">·2[通告]22关于征集参加海淀园与凤凰卫视 </a> </LI> 
      <LI> <a href="about/temp_archive1.htm" target="_blank">·3[通告]33iBridge项目评审会 </a> </LI> 
      <LI> <a href="about/temp_archive1.htm" target="_blank">·4[通告]44iBridge项目评审会 </a> </LI> 
    </UL> 
    </DIV> 
    </DIV> 
    <SCRIPT type=text/javascript> 
    marque(320,19,"icefable1","box1left") 
    var scrollElem; 
    var stopscroll; 
    var stoptime; 
    var preTop; 
    var leftElem; 
    var currentTop; 
    var marqueesHeight; 
    function marque(width,height,marqueName,marqueCName){ 
    try{ 
      marqueesHeight = height; 
      stopscroll    = false;   scrollElem = document.getElementById(marqueName);//大div 
      with(scrollElem){ 
    style.width    = width; 
    style.height    = marqueesHeight; 
    style.overflow  = 'hidden'; 
    noWrap          = true; 
      }   scrollElem.onmouseover = new Function('stopscroll = true'); 
      scrollElem.onmouseout  = new Function('stopscroll = false');   preTop    = 0; 
      currentTop = 0; 
      stoptime  = 0;   leftElem = document.getElementById(marqueCName);//小div 
      scrollElem.appendChild(leftElem.cloneNode(true)); 
      
      init_srolltext(); 
    }catch(e) {} 

    function init_srolltext(){ 
      scrollElem.scrollTop = 0; 
     
      setInterval('scrollUp()', 10); 
    } function scrollUp(){ 
      if(stopscroll) return; 
      currentTop += 1; 
      if(currentTop == 1) { 
        stoptime += 1; 
        currentTop -= 1; 
        if(stoptime == (marqueesHeight)*4) {//停顿时间 
          currentTop = -marqueesHeight; 
          stoptime = 0; 
        } 
      }else{ 
      //改动
        scrollElem.scrollTop += 1; 
        if(scrollElem.scrollTop==scrollElem.getElementsByTagName("LI").length*19/2){ 
          scrollElem.scrollTop = 0; 
          currentTop=0;    } 
      } 

    </SCRIPT> </div> 
    </BODY>
    </HTML>
      

  2.   

    //改动if(stoptime == (marqueesHeight)*4) {//停顿时间 
          currentTop = -marqueesHeight; 
          stoptime = 0; 
        } 
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE>通告 </TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <STYLE type=text/css>
    BODY {
    FONT-SIZE: 12px; TEXT-ALIGN: center
    }
    SELECT {
    FONT-WEIGHT: normal; FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif
    }
    a:link {  color: #CC0000; text-decoration: none}
    a:visited {  color: #CC0000; text-decoration: none}
    a:hover {  color: #cc0000; text-decoration: none}UL {
    PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
    }DIV.layout_main {
    MARGIN-TOP: 0px; WIDTH: 900px}
    DIV.layout_left {
    FLOAT: left; WIDTH: 427px
    }
    .title_01 {
    PADDING-LEFT: 10px; WIDTH: 426px; LINE-HEIGHT: 15px; HEIGHT: 22px! important; BACKGROUND-COLOR: #ff6600; TEXT-ALIGN: left
    }
    .title_01 .title_left {
    BORDER-TOP: #ff6600 0px solid; FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: left; WIDTH: 75px; COLOR: #666666; PADDING-TOP: 0px; HEIGHT: 24px; BACKGROUND-COLOR: #eeeeee; TEXT-ALIGN: center
    }#box1left LI {
    PADDING-TOP: 0px;
    HEIGHT: 19px;
    color: #CC0000;
    }
    </STYLE><META content="MSHTML 6.00.2900.2963" name=GENERATOR> </HEAD>
    <BODY >
    <div id=notes align="left">
    <DIV class=title_right id=icefable1>
    <DIV id=box1left>
    <UL>
      <LI> <a href="about/temp_archive1.htm" target="_blank">·[通告]11海淀园区与荷兰代表团举行“中 </a> </LI>
      <LI> <a href="about/temp_archive1.htm" target="_blank">·[通告]22关于征集参加海淀园与凤凰卫视 </a> </LI>
      <LI> <a href="about/temp_archive1.htm" target="_blank">·[通告]33iBridge项目评审会 </a> </LI>
      <LI> <a href="about/temp_archive1.htm" target="_blank">·[通告]44iBridge项目评审会 </a> </LI>
    </UL>
    </DIV>
    </DIV>
    <SCRIPT type=text/javascript>
    marque(320,19,"icefable1","box1left")//调用margue函数
    var scrollElem;
    var stopscroll;
    var stoptime;
    var preTop;
    var leftElem;
    var currentTop;
    var marqueesHeight;
    function marque(width,height,marqueName,marqueCName){//定义margun函数,传递参数,宽高,外div,内div
    try{
      marqueesHeight = height;
      stopscroll    = false;  scrollElem = document.getElementById(marqueName);//得到外div
      with(scrollElem){//设定默认的属性
    style.width    = width;
    style.height    = marqueesHeight;
    style.overflow  = 'hidden';
    noWrap          = true;
      }  scrollElem.onmouseover = new Function('stopscroll = true');//触发的事件
      scrollElem.onmouseout  = new Function('stopscroll = false');  preTop    = 0;
      currentTop = 0;
      stoptime  = 0;  leftElem = document.getElementById(marqueCName);//得到内div
      scrollElem.appendChild(leftElem.cloneNode(true));//克隆一个内div,放到外div里
     
      init_srolltext();
    }catch(e) {}
    }
    function init_srolltext(){
      scrollElem.scrollTop = 0;
      setInterval('scrollUp()', 20);//定时执行scrollUp
    }function scrollUp(){
      if(stopscroll) return;//是否滚动
      currentTop += 1;//设定距离,下面的基本上都是根据时间设定距离的
      if(currentTop == marqueesHeight+1) {
        stoptime += 1;
        currentTop -= 1;
        if(stoptime == (marqueesHeight)*4) {//停顿时间
          currentTop = 0;
          stoptime = 0;
        }
      }else{    preTop = scrollElem.scrollTop;    scrollElem.scrollTop += 1;
        if(preTop == scrollElem.scrollTop){
          scrollElem.scrollTop = marqueesHeight;
          scrollElem.scrollTop += 1;    }
      }
    }
    </SCRIPT></div> 
    简单看了一下 不知道准不准 欢迎批评!
      

  4.   

    楼上的基本都解释了,我解释这里function scrollUp(){ 
       if(stopscroll) return;//是否滚动 
      //当currentTop =0的时候,也就是初始化的时候,显示第一条数据 
      currentTop += 1; //第一次currentTop =1;
    //方法等待,不滚动
      if(currentTop == 1) { //满足条件,我把这改了就是想让他初始化的时候就进这里,可以等待
        stoptime += 1; //这的方法目的是累加直到满足下边的stoptime == (19)*4;
        currentTop -= 1;// currentTop =0
        if(stoptime == (marqueesHeight)*4) {//停顿时间 
          currentTop = -marqueesHeight; //当满足条件给他复制为-19,下次走else,不走IF
          stoptime = 0; 
        } 
      }else{ 
      //改动
        scrollElem.scrollTop += 1; //滚动到下一个目标,因为滚动条高度19,当为19时,currentTop =0,
     //  继续走if等待,就这样循环
    //目的是当滚动条<海淀园区与荷兰代表团举行“中>走到
    //scrollElem.appendChild(leftElem.cloneNode(true));
     // 克隆<海淀园区与荷兰代表团举行“中>
    //scrollElem.getElementsByTagName("LI").length*19/2=19*4
        if(scrollElem.scrollTop==scrollElem.getElementsByTagName("LI").length*19/2){ 
          scrollElem.scrollTop = 0; //将滚动条有第5条<海淀园区与荷兰代表团举行“中>
     //换成第一条<海淀园区与荷兰代表团举行“中>
          currentTop=0;//目的进入等待中    } 
      } 

      

  5.   

    其实简单的说就是
    scrollElem.scrollTop += 1;
    滚动条一直滚动累加到19的倍数
    当满足19的倍数的时候就等待一会,在继续滚动