0

一部のテーブル データ (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 では発生しません。

よろしくお願いします。

4

1 に答える 1

0

「エフェクト」機能を「アニメーション」機能に置き換えることで解決しました。

次の関数を使用しました。

function flashColor(obj) {
    if (obj.length) {
        var originalColor = obj.css('backgroundColor');
        obj.animate({ backgroundColor: '#FFA500' }, 1000).delay(700).animate({ backgroundColor: originalColor }, 1000);
    }
}
于 2013-10-15T08:40:13.057 に答える