0

在任何点击之前它们看起来像这样:

在发生任何点击之前

当您单击业务区域中的销售时,会出现一个下拉选择框。如果我确实单击“销售”并对该文本区域进行更改,它将动画为灰色。灰色的行也动画为灰色,这很好,但黑色的行应该褪色为黑色而不是灰色。

选择后:

在此处输入图像描述

请注意,我将 Sales 更改为 property,并且在 animate() 函数之后它是灰色的并且现在搞砸了条纹。

这是我的功能:

success: function (result) {
                    if (result) {
                        //change the verbiage of the ".look" element to the newly-changed value of the ".touch" element
                        theLook.text(newDes);

                        //swap out the elements so it looks like a normal table cell again
                        back_to_look();

                        //flash the span it's in so the user knows the change was successful
                        theTd.css('background-color','#59b4d4').animate({ backgroundColor: "#333333" }, 1500);
                    } else {
                        //flash the ".touch" element in red but DO NOT flip back to the ".look" element since there was a problem updating the data
                        var oldColor = theTouch.css('background-color');
                        theTouch.css('background-color','#ff0000').animate({ backgroundColor: oldColor }, 1500);

如何确定原始背景颜色设置并将其返回到该设置?我是否必须使用 jquery css() 方法来定位 css?

4

2 回答 2

1

这一行:

theTd.css('background-color','#59b4d4').animate({ backgroundColor: "#333333" }, 1500);

使用闪光灯完成后将 bg 颜色更改回 #333333(突出显示).. 试试这个:

var currentColor = theTd.css('backgroundColor');
theTd.css('background-color','#59b4d4').animate({ backgroundColor: currentColor }, 1500);

因此,我们创建一个名为 currentColor 的变量并从我们即将编辑的表格单元格中提取当前背景颜色,而不是像之前那样在动画中分配 backgroundColor:#333333。

这样,一旦我们编辑表格单元格,我们就知道它需要返回到哪种颜色。您可以在上面的第二行中看到,我们没有将其设置回 #333333,而是将其设置为我们的新变量 currentColor。

于 2013-11-04T18:46:35.747 回答
0

要确定背景颜色,只需使用:

$(document).on('click', 'div', function () {
    var x = $(this).css('background-color');
    hexColor(x);
    alert(color);
});

function hexColor(colorValue) {
    var parts = colorValue.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    delete(parts[0]);
    for (var i = 1; i <= 3; ++i) {
        parts[i] = parseInt(parts[i], 10).toString(16);
        if (parts[i].length == 1) parts[i] = '0' + parts[i];
    }
    color = '#' + parts.join('');
}

在线示例

于 2013-11-04T18:40:16.200 回答