Как я могу заставить эту функцию jQuery работать быстрее?Jquery

Программирование на jquery
Ответить
Anonymous
 Как я могу заставить эту функцию jQuery работать быстрее?

Сообщение Anonymous »

У меня есть четыре тега на странице; их необходимо включать или отключать в зависимости от назначенной роли пользователя. (Я сбрасываю значение href и уменьшаю непрозрачность отключенных элементов.) Сейчас существует 50% вероятность того, что не все элементы будут оценены при загрузке страницы (но они успешно оценятся при перезагрузке). В разработке мне пришлось использовать вложенный метод setTimeout(), чтобы заставить их вообще выполнять оценку. Что я могу сделать, чтобы ускорить выполнение кода? Возможно, его не следует запускать внутри $(document).ready()? Неужели мой подход неправильный? ТИА за помощь!
const arrTiles = [[8, 'EnvironmentalHealthSafety'], [9, 'SalesAndFinance'], [18, 'PrivacyAndSafeguards'], [25,'HumanResources']];
const checkTileAccess = (tile) => {
if (!user().hasRole(tile[0])) {
$('#healthscorefactors').find('a[href*=\"' + tile[1] + '\"]').prop('href', '#').css({ 'opacity': '0.33', 'cursor': 'default' });
$('#healthscorefactors').find('a[href*=\"' + tile[1] + '\"]').find('img.tooltip').off('click').removeAttr('title');
}
};

$(document).ready(function () {
if (!user().hasAccess('CNAdmin') && !user().hasAccess('Admin') && !user().hasAccess('ChannelPartner') && !user().hasAccess('Supervisor')) {
let k = 0;
setTimeout(function () {
checkTileAccess(arrTiles[k]);
k++;
setTimeout(function () {
checkTileAccess(arrTiles[k]);
k++;
setTimeout(function () {
checkTileAccess(arrTiles[k]);
k++;
setTimeout(function () {
checkTileAccess(arrTiles[k]);
}, 300)
}, 300)
}, 300);
}, 300);
}
})



Подробнее здесь: https://stackoverflow.com/questions/785 ... run-faster
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»