#jquery
#jquery
Вопрос:
У меня есть приведенный ниже код. Сначала все кнопки с классом редактирования не будут отключены.
Затем он выдает get-запрос, чтобы увидеть, какие файлы заблокированы, и соответственно отключает кнопки.
Это работает нормально. Однако, поскольку люди могут редактировать все время, оно выполняется с интервалом в X секунд, поэтому обновляется для пользователя по мере просмотра страницы.
Если я установлю для него значение, равное второму, любая кнопка, которую необходимо отключить, сначала будет активна, а затем отключена — проблема в том, что оттенок зеленого меняется, поэтому кажется, что он пульсирует.
Надеюсь, это имеет смысл. Каков наилучший способ обойти это.
Всего около 500 кнопок, представляющих 500 разных записей, поэтому чего я не хотел делать, так это перебирать каждую кнопку и проверять, существует ли она в массиве, который я получаю обратно, поскольку думал, что это может быть неэффективно, особенно если большинство строк заблокированы.
JSON, который я получаю обратно, имеет вид:
[ { "id": "4", "name": [ "Jo Bloggs" ] } ]
Функция
function checkLock() {
$("button.edit").prop('disabled', false);
$.get('/listLockedFiles/json', function(data) {
var id;
var name;
var currentUser;
data = $.parseJSON(data);
$.get('/currentUser', function(cu) {
$.each(data, function(i, item) {
id = data[i]["id"];
name = data[i]["name"];
if (name !== cu) {
$("button.edit[data-id="" id ""]").prop('disabled', true);
}
});
});
});
}