let start = Date.now();
let times = [];
setTimeout(function run() {
times.push(Date.now() - start); // запоминаем задержку от предыдущего вызова
if (start + 100 < Date.now()) alert(times); // показываем задержку через 100 мс
else setTimeout(run); // если нужно ещё запланировать
});
И подскажите, как можно сделать ещё возможность удалить загруженный файл
success: function (res){
let result = JSON.parse(res);
//здесь уже работаете с массивом объектов (если был JSON), иначе, распарсивать не надо и просто работаете с res
if ( res === 'cool') {
$("div#mydata").html('Работает!');
}else{
$("div#mydata").html('Не работает!');
}
}
typeof(s) == String // String - переменная??? и вообще ключевые слова лучше не юзать
function f(s){
// document.write(typeof(s)); // ! ! ! ( ( 1 ) ) ! ! !
var m,
String = "string"
typeof(s) === String ? m = "String" : m = "No, this is not a string"; // ! ! ! ( ( 2 ) ) ! ! !
document.write(m);
};
title=data[0]['list'];
- имеет ли смысл если все колонки динамические? Может title=data[i]['list'];
//здесь пишите цикл для mycols массива , который заполняет title
let mycols = [];
for (let j = 0; j < 3; j++) {
mycols.push(/*Здесь собственно титлы*/);
}
//.............................................
$('#tableseventsmain'+i).DataTable(
{
'columns': mycols
}
);
//.............................................
$('.exp_block-2--[user-data="'+ n +'"]').show();
будет не нужен, сможете делать поиск по data- атрибутам if ($(this).data('user') == n)... и т.д.
. Это лишь пример, надо не через this а через нужный родительский элемент....removeClass()
класс ".exp_block-2--". Для скрытия - добавьте .addClass()
. Т.к. у вас в нём изначально прописано " display: none;"