首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

哪位高手能解释下这段代码

2012-04-21 
谁能解释下这段代码[codeC#][/code] script typetext/javascriptvar textDiv document.getElement

谁能解释下这段代码
[code=C#][/code] <script type="text/javascript">
  var textDiv = document.getElementById("rollText");
  var textList = textDiv.getElementsByTagName("a");
  if (textList.length > 1) {
  var textDat = textDiv.innerHTML;
  var br = textDat.toLowerCase().indexOf("<br", textDat.toLowerCase().indexOf("<br") + 3);
  //var textUp2 = textDat.substr(0,br);
  textDiv.innerHTML = textDat + textDat + textDat.substr(0, br);
  textDiv.style.cssText = "position:absolute; top:0";
  var textDatH = textDiv.offsetHeight; MaxRoll();
  }
  var minTime, maxTime, divTop, newTop = 0;
  function MinRoll() {
  newTop++;
  if (newTop <= divTop + 20) {
  textDiv.style.top = "-" + newTop + "px";
  } else {
  clearInterval(minTime);
  maxTime = setTimeout(MaxRoll, 5000);
  }
  }
  function MaxRoll() {
  divTop = Math.abs(parseInt(textDiv.style.top));
  if (divTop >= 0 && divTop < textDatH - 40) {
  minTime = setInterval(MinRoll, 1);
  } else {
  textDiv.style.top = 0; divTop = 0; newTop = 0; MaxRoll();
  }
  }
  </script>

[解决办法]

JScript code
 var textDiv = document.getElementById("rollText");  //得到ID为rollText的对象赋给textDiv     var textList = textDiv.getElementsByTagName("a");   //得到textDiv对象中所有A标签的集合     if (textList.length > 1) {                          //如果textDiv集合元素大于0         var textDat = textDiv.innerHTML;                //得到textDiv中的HTML代码,赋给textDat         var br = textDat.toLowerCase().indexOf("<br", textDat.toLowerCase().indexOf("<br") + 3); //把textDat转化为小写,从textDat中第一次出现"<br"索引加3位置开始查找,找从textDat出现第一次"<br"的索引,赋给br         //var textUp2 = textDat.substr(0,br);         textDiv.innerHTML = textDat + textDat + textDat.substr(0, br);  //给textDiv的HTML赋值,赋值为:两个textDat加上textDat从索引0开始截取到索引br的字符串         textDiv.style.cssText = "position:absolute; top:0"; //给textDiv绝对定位,距顶部边0相素         var textDatH = textDiv.offsetHeight;  //得到textDiv上边界到它的包含元素的上边界的偏移量         MaxRoll();  //调用MaxRoll()方法     }     var minTime, maxTime, divTop, newTop = 0; //声明几个变量     function MinRoll() {         newTop++;                       //newTop = newTop + 1;         if (newTop <= divTop + 20) {        //如果newTop小于等于divTop+20             textDiv.style.top = "-" + newTop + "px";       //textDiv的css的top等于-newTop的值px;         } else {                       //反之             clearInterval(minTime);    //停止定时器             maxTime = setTimeout(MaxRoll, 5000);  //设计一个定时器,五秒中调用一次MaxRoll方法         }     }     function MaxRoll() {         divTop = Math.abs(parseInt(textDiv.style.top));  //取textDiv的css的top的绝对值,赋给divTop         if (divTop >= 0 && divTop < textDatH - 40) {     //如果divTop的值大于等于0而且divTop的值小于textDatH-40             minTime = setInterval(MinRoll, 1);           //1毫秒调用一次MinRoll方法,直到 clearInterval()或窗体关闭         } else {                                         //反之             textDiv.style.top = 0;  //设置textDiv的css的Top为0             divTop = 0;             newTop = 0;             MaxRoll();             //调用MaxRoll方法         }     } 

热点排行