window.crypto
с этим справляется, остается их интерпретация - codepen.io <div id="slider1" data-slider></div>
<div id="slider2" data-slider></div>
<div id="slider3" data-slider></div>
let sliders = document.querySelector("[data-slider]");
for (let i = 0; i < sliders.length; i++) {
let slider = Slider.load(sliders[i]);
slider.start();
}
$("[data-slider]").each(function() {
let slider = Slider.load(this);
slider.start();
});
'area'
это не ноль, не undefined
, не null
, а значит считается за истину, и операция || срабатывает на первой истине. Тем самым ты сравниваешь свое слово всегда с area
.let tags = ['area', 'base', 'col', 'command'];
if (tags .indexOf(els[i].tagName.toLowerCase()) >= 0) {
return;
}
function User() {
this.firstName = "Вася";
this.sayHi = () => {
return this.firstName;
}
}
let user = new User()
console.log(user.sayHi());
iframe
, задаешь ему нужную ссылку. В то-же время создаешь setTimeout
, в котором открываешь обычную ссылку, если что-то пошло не так. Далее ждешь загрузки iframe
, если загрузился, то удали setTimeout
. Тем самым, если приложение установлено, то в нем откроется ссылка, если нет, то сработает setTimeout
. if (isLoading === false) {
if ($('#news').scrollTop() > $('.class_news').height() - 500) {
isLoading = true;
load();
}
}
function load() {
$.ajax(..., function() {
isLoading = false;
})
}
data-src
, так как возможны конфликты с другими библиотеками. Это довольно часто используемый атрибут. Заменить например на data-include-html="..."
<include>
изменить на что-то более ясное, например <includeHTML>
или <include-html>
. Так как возможны конфликты.defer
у тега script
.npm
пакет. projectModalCarousel
скорее всего не массив, а nodeList
, который получается при выборке querySelectAll
. nodeList
можно использовать в цикле и обращаться к его элементам по индексу, но там нету встроенной функции для перебора forEach
. Поэтому надо либо что-то придумывать чтоб forEach
там появился, либо работать в цикле.for (let i = 0; i < projectModalCarousel.length; i++) {
projectModalCarousel[i]; // нужный элемент
}
let arr = [];
for(let i = 0; i < 5; i++) {
arr.push(i);
arr.push(i);
}
const shuffleArray = arr => arr
.map(a => [Math.random(), a])
.sort((a, b) => a[0] - b[0])
.map(a => a[1]);
shuffleArray([1, 2, 3])
let timeout = null;
$elem.on("mousedown", function() {
doAction(...);
timeout = setTimeOut(function() {
undorAction(...);
});
});
$elem.on("mouseup", function() {
clearTimeout(timeout);
undorAction(...);
});