使用jQuery高亮效果时window.name上的奇怪问题

时间:2013-10-14 10:38:11

标签: javascript jquery highlight effect

我经常在某些表数据(td)单元格上使用jQuery高亮效果。 我刚刚意识到当我使用这个效果时,高亮效果完成后,window.name值会在“data-ec”值中神奇地改变。 这种行为给了我一些问题,因为我需要检查我之前设置的window.name。

我正在使用以下代码:

<html>
<head>
    <script src='jquery-1.6.min.js' type="text/javascript"></script> 
    <script src='jquery-ui-1.8.12.custom.min.js' type="text/javascript"></script> 

    <script type="text/javascript">

        function PlayIssue() {
            //Set Window Name
            window.name = 'myWindowName';
            // Get RIGHT window name
            alert(window.name); // popup shows "myWindowName" as window name

            //Play jQuery Effect on TD cell
            var myCell = $("#TableID tr[id='row_ID'] td:nth-child(1)");
            myCell.effect("highlight", { color: '#FFA500' }, 8000);

            //get WRONG window name
            alert(window.name);  // popup shows "data-ec" as window name
        }
     </script>
</head>
<body>
    <table id="TableID" border="1">
        <tr id="row_ID">
            <td>cell 1</td>
            <td>cell 2</td>
        </tr>
    </table>

    <script type="text/javascript">

        //Call JS Function to play issue
        PlayIssue();
     </script>
</body>
</html>

你对这种行为有什么想法吗? 此问题发生在IE 9/10(仅尝试过这些),但不适用于Firefox和Chrome。

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

我用'animate'函数替换'effect'函数解决了。

我使用了以下功能:

function flashColor(obj) {
    if (obj.length) {
        var originalColor = obj.css('backgroundColor');
        obj.animate({ backgroundColor: '#FFA500' }, 1000).delay(700).animate({ backgroundColor: originalColor }, 1000);
    }
}