我经常在某些表数据(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。
提前多多感谢。
答案 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);
}
}