$(document).ready(function(){
var sliders = $('.slick-super-slider');
var nextArrows = $('.next-slide');
sliders.each(function(index, element) {
var $slider = $(element);
var $nextArrow = $(nextArrows[index]);
$slider.slick({
slidesToShow: 3,
slidesToScroll: 3,
prevArrow: false,
nextArrow: $nextArrow,
});
});
});
>> let a = 0;
<- undefined
>> window.a
<- undefined
function foo(x) {
this.x++
}
x
и свойство x
объекта this
- это разные вещи. window
или произвольного объекта - то делать надо это явно и прямо. Например:window.x = 0
window.x++
let propName = 'a'
window[propName] = 0
window[propName]++
function decrypt(encryptedText, key) {
var decryptedBytes = CryptoJS.AES.decrypt(
{
ciphertext: CryptoJS.enc.Base64.parse(encryptedText)
},
CryptoJS.enc.Utf8.parse(key),
{ mode: CryptoJS.mode.ECB }
);
var plaintext = decryptedBytes.toString(CryptoJS.enc.Utf8);
return plaintext;
}
var encryptedText = "P6WsUEHMRTa620LtYJ3Nqu9yKhGev0ZL4Ps+z61kWN4="; // Замените на свой зашифрованный текст
var key = "mysecretpassword"; // Замените на свой ключ
var decryptedText = decrypt(encryptedText, key);
console.log("Decrypted Text:", decryptedText);
function createApp () { //добавляем содержимое в html-вёрстку
// прочитать список
studentList = JSON.parse(localStorage.getItem("myKey") ?? '[]');
const container = document.querySelector('.conteiner'); // подключаем контейнер
const tableObj = createTable(); // создаем таблицу
container.append(tableObj.table); // добавляем в разметку созданную таблицу
const addBtn = document.querySelector('.add-btn'); // поключаем кнопку
addBtn.addEventListener('click', () => { // навешиваем событие на кнопку, чтобы при клике срабатывала функция
addStudent(studentsList, tableObj.tbody); // функция добавления студента из формы.
// При каждом обновлении сохраняем
localStorage.setItem("myKey",JSON.stringify(studentsList));
});
// А это не надо
// localStorage.setItem("myKey",JSON.stringify(studentsList));
}
const containerSelector = '.selectboxss';
const itemClass = 'selectoption';
const itemSelector = `${containerSelector} .${itemClass}`;
const getClasses = el => Array.prototype.filter.call(el.classList, n => n !== itemClass);
//const getClass = el => el.className.match(RegExp(`${itemClass}-\\d+`))[0];
function updateClasses(item) {
const container = item.closest(containerSelector);
const { classList: cl } = container;
cl.remove(...Array.prototype.flatMap.call(container.querySelectorAll(itemSelector), getClasses));
cl.add(...getClasses(item));
//cl.remove(...Array.from(container.querySelectorAll(itemSelector), getClass));
//cl.add(getClass(li));
}
document.querySelectorAll(itemSelector).forEach(function(n) {
n.addEventListener('click', this);
}, e => updateClasses(e.currentTarget));
document.addEventListener('click', e => {
const item = e.target.closest(itemSelector);
if (item) {
updateClasses(item);
}
});