我正在尝试为 ASP.Net 超链接的背景设置动画,以在更新面板刷新时进行黄色淡入淡出。到目前为止,它几乎在所有时间都有效,但偶尔会抛出一个 JavaScript 错误“无效的属性值”。它调试到jquery颜色插件代码到这一行...
fx.elem.style[attr] = "rgb(" + [
Math.max(Math.min(parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
Math.max(Math.min(parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
Math.max(Math.min(parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
].join(",") + ")";
以下是当前正在发生的事件的顺序......
首先,窗口在 doc.ready 上加载,它注册一个要在更新面板完成刷新时执行的事件,如下所示......
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(yellowFade);
其中 YellowFade 定义为...
function yellowFade() {
window.setTimeout("$('#' + hyperlinkUrlId).animate( { backgroundColor: 'white' }, 2000)", 2000);
window.clearTimeout();
}
现在,我很少会在此时崩溃,但通常会稍后发生,所以我会继续......
然后,我单击标题为“生成”的按钮,该按钮创建一个 URL,加载 ASP.Net 超链接及其创建的 URL 的文本,然后通过 javascript 将其背景颜色设置为黄色,以便通过此淡出...
$("#" + hyperlinkUrlId).css("background-color", "#FBFF9C");
我最初让它通过这段代码在后面的代码中设置颜色......
Url.BackColor = ColorTranslator.FromHtml("#FBFF9C");
但后来我想也许背景颜色被设置为 jquery 颜色插件无法识别的东西,或者因为它被设置在服务器端,所以插件无法访问它的样式或其他东西,但更改它仍然没有修复bug的效果。
最后,generate 将 URL 的背景颜色从白色更改为黄色,然后正如我所说,大多数时候它会很好地淡出,但很少会抛出错误“属性值无效”。
据我所知,我的语法正是使用彩色动画的方式。我觉得我使用更新面板的事实可能会在这里造成严重破坏,但我不确定。
有谁知道可能导致这种情况的原因吗?尝试调试真是一团糟,因为这种情况很少发生,而忽略了 javascript 调试起来已经很痛苦的事实。
在 Windows Vista 上使用 jquery 1.3.1 和 jquery.color 1.0。使用 Visual Studio 2008。如果有任何问题需要我解决,请告诉我。
EDIT:哎呀,还没有一个回应。我在这方面的工作有点中断,但我刚刚在我的应用程序的另一部分发现了这个错误,我正在做黄色淡入淡出。这两个页面都使用更新面板。在很多情况下我都不喜欢更新面板,它确实对我的 jquery 造成了严重破坏。我想知道是否与此有关。哦,这有点暗示了整个 Vista 的事情,但我要指出的是,我正在 IIS7 上运行。
这是否能激发一些见解?