Gridview行闪烁

时间:2010-05-05 04:44:12

标签: asp.net javascript

我试过使ASp:Gridview的行闪烁。在IE中取得了成功,但没有在FF和Safari中工作。 FF错误控制台说“错误:gridRef.childNodes不是一个函数”任何人都可以告诉我哪里到底错了......

使用的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"); 

1 个答案:

答案 0 :(得分:0)

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

gridRef.childNodes(i);

gridRef.childNodes[i];

bodyRef.childNodes(j);

bodyRef.childNodes[j];

此致 添