jquery色动画引发无效的财产价值的间歇
-
22-08-2019 - |
题
我试图画的背景ASP.Net 超级链接来做一个淡黄色在一个更新板刷新。迄今为止工作的几乎所有的时间,但偶尔javascript错误引"无效性食物的价值。"并调试本文彩色插在代码,这条线...
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(",") + ")";
这里是秩序的事件,因为他们是目前发生的事情...
第一,该窗口的负荷等文件。准备好了注册事件进行更新时,小组已经完成了清新的像这样...
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");
但然后我想也许背面的颜色是越来越集到的东西s彩色插件无法识别,或者因为它正在设置服务器侧插在不可能访问它的风格或者什么但是它仍然没有固定的错误。
最后,产生的变化网址的背面的颜色由白色黄色的那么正如我所说的大部分时间它消失就好了但是很少的,它会引发错误"无效的财产价值。"
我可以告诉我的语法是仅有的方式应当对于使用颜色动画。我觉得事实上我使用的updatepanel可能造成严重破坏在这里但我不知道。
没有任何人有任何深入了解什么可能会导致这样的事情?这是一个真正的混乱调试,因为它发生这样不经常忽略的事实,javascript已经是一个痛苦的调试。
使用jquery1.3.1和习颜色1.0在Windows Vista。使用Visual Studio2008年。让我知道如果有什么我可以清楚。
编辑: 该死的,不是一个单一的响应。我已经采取了一个位中断了从这方面的工作但我只是发现错误在另一个部分,我的应用程序,在这里我这样做的黄色的淡化。这两个网页使用更新的面板。我不是一个风扇更新小组在许多情况下,它具有一定严重破坏我的!我想知道,如果它有什么要做到这一点。哦,这是一种隐含的整体Vista的事情,但我要指出,我正在IIS7.
这不会引起任何见解?
解决方案
我觉得我碰到的另一个项目同样的问题,因为你;我有另一个DIV的内部DIV(它没有它的背景明确定义。)我试图“闪光”的内部DIV的背景颜色,并运行到该错误。我分配一个特定颜色的容器后,才DIV没有错误消失。
其他提示
我是有一些TD elemtents背景颜色动画IE8此相同的问题。它持续即使我给一个背景颜色到TR。
我认为有它现在固定的,通过在jquery.ui改变一些代码。
查找此部分:
// We override the animation for all of these color styles
$.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i, attr) {
$.fx.step[attr] = function(fx) {
if (fx.state == 0) {
变化:
if (fx.state == 0)
要:
if (fx.state == 0 || fx.start.constructor != Array || fx.end.constructor != Array)
有时,当执行该代码。 fx.State不为0,而是fx.start和fx.end没有被初始化为RGB阵列。在更新的码,我们初始化fx.start和fx.end阵列如果它们还没有被初始化。
这似乎已经解决了它,但它是很难确定的间歇性的问题。
这里有关的那些具有与所述 jQuery的颜色插件此问题,足够好的劈是改变
if ( fx.state == 0 ) {
要低的东西等
if ( fx.state <= 0.045 ) {
奇怪的是fx.state并不总是0,这就是为什么在无效的属性错误被偶尔抛出。
jQuery开发现场修复的方法是下面(应该是在将来的版本)。在effects.core.js,变化:
if ( fx.state == 0 ) {
fx.start = getColor( fx.elem, attr );
fx.end = getRGB( fx.end );
}
为:
if (!fx.colorInit) {
fx.start = getColor(fx.elem, attr);
fx.end = getRGB(fx.end);
fx.colorInit = true;
}
这完全清除的问题,为我。
我已经重写的颜色设定部的功能,以防止的NaN传播到RGB值,这解决了问题。
var r = Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0);
var g = Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0);
var b = Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0);
if (!isNaN(r) && !isNaN(g) && !isNaN(b))
{
var rgb = "rgb(" + [r,g,b].join(",") + ")";
fx.elem.style[attr] = rgb;
}
我是有jquery.color.js
类似的问题。通过使用jquery.effects.core.js
(jQuery UI的效果芯)解决了这个
我希望它适合你。
我有另一种解决方案,它为我工作。只需添加这些验证行:
if (fx.start == undefined) { fx.start = getRGB('white'); }
if (fx.end == undefined) { fx.end = getRGB('white'); }
此之前:
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(",") + ")";
这不会出现工作如果你想画一些元素在某些浏览器(工作在火狐,不在谷歌浏览器).例如,这将无法工作与HTML画布上。外汇。开始将被不确定的。
我破解得到它的工作与HTML画布的元素,例如
if (fx.start == undefined) { fx.start = getRGB('white'); }