【发布时间】:2013-07-11 19:39:20
【问题描述】:
我连续更新三个输入,通过单击按钮顺序更新它们,并且在更新完成后我对每个输入做一个很酷的颜色变化(发光)效果:
你应该看到这样的东西,其中 t= 时间(我觉得自己像个科学家)
[30.20] [20.32] [34.33] [Update] <--- Clicked this
t=1 Glow
t=2 Glows
t=3 Glows
但有时颜色效果会出现问题,例如:
[30.20] [20.32] [34.33] [Update] <--- Clicked this
t=1 Glow
t=2 Glows
t=3 Glows
这是我的脚本:
仅供参考:我测试并发现乱序问题始于.each
在页面上它们一个接一个。
function UpdatePrice(TheButton, Type) {
$(TheButton).parent().parent().find("input").each(function (index, element) {
$.ajax({
cache: false,
data: { ByContractID: $(element).parent().attr("id"), Cost: $(element).val(), ItemType: Type },
type: "Post",
url: '@Url.Action("UpdateCost")'
}).success(function () {
$(element).next().html(($(TheButton).parent().parent().children("td").eq(0).html() * $(element).val()).toFixed(2));
$(element).val(parseFloat($(element).val()).toFixed(2));
var old = $(element).css('background-color');
$(element).animate({ "background-color": "#D2F0C9" }, "fast", function () { $(element).animate({ "background-color": old }, "fast") });
});
});
return false;
}
你们觉得呢?
谢谢!
【问题讨论】:
-
也许你可以链接到一个 jsfiddle?
-
Ajax 响应是异步的。触发成功的顺序可以不同。
标签: jquery