2010-05-05 147 views
0

我试着闪烁了ASp:Gridview的行。在IE中成功了,但在FF和safari中没有工作。 FF错误控制台说“错误:gridRef.childNodes是不是一个函数”谁能告诉我哪儿我错了......Gridview行闪烁

JavaScript的使用是:

<script type="text/javascript"> 
<!-- 
    function blinkElement(elementId) 
    { 
     var elementRef = document.getElementById(elementId); 
     var blinkCounter = parseInt(elementRef.blinkCounter); 
     if (isNaN(blinkCounter) == true) 
      blinkCounter = 0; 

     if ((blinkCounter % 2) == 0) 
     { 
      elementRef.style.visibility = 'visible'; 
     } 
     else 
     { 
      elementRef.style.visibility = 'hidden'; 
     } 

     if (blinkCounter < 1) 
     { 
      blinkCounter++; 
     } 
     else 
     { 
      blinkCounter-- 
     } 

     elementRef.blinkCounter = blinkCounter; 
     window.setTimeout('blinkElement(\"' + elementId + '\")', 700); 
    } 

    function blinkGridViewRows() 
    { 
     var gridRef = document.getElementById('<%= gvUsers.ClientID %>'); 

     for (var i=0; i<gridRef.childNodes.length; i++) 
     { 
      var bodyRef = gridRef.childNodes(i); 
      for (var j=0; j<bodyRef.childNodes.length; j++) 
      { 
       var trRef = bodyRef.childNodes(j); 

       if (trRef.blinkingRow == 'Y') 
       { 
        blinkElement(trRef.id); 
       } 
      } 
     } 
    } 

    window.onload = blinkGridViewRows; 

    // --> 
</script> 

和我gridview_rowdatabound我有

e.Row.Attributes.Add("blinkingRow", "Y"); 

回答

0

您可以使用方括号访问JavaScript数组的项目。 改变

gridRef.childNodes(i); 

gridRef.childNodes[i]; 

bodyRef.childNodes(j); 

bodyRef.childNodes[j]; 

问候, 添