var header = document.querySelector('.sticky');
var timerId; //объявляем глобально!
window.onscroll = function showHeader () {
if (window.pageYOffset > 138) {
header.classList.remove('goback');
header.classList.add('sticky-header');
} else {
header.classList.add('goback');
timerId = setTimeout(function () {
header.classList.remove('sticky-header');
}, 250)
}
}
if (window.pageYOffset > 138) {
header.classList.add('sticky-header');
}
<button type="button" onclick='demo=document.getElementById("demo");!window.mysave?(mysave=demo.innerHTML):0;demo.innerHTML = demo.innerHTML==mysave?"Hello JavaScript!":mysave'> Click Me!</button>
var data = [
{
name:'Психотип - это',
radio:['темперамент','акцентуация','соционический тип','экстраверсия','архетип','характер','ничего из этого'],
answer: 7,
},
{
name:'Что позволяет игра с точки зрения социологов?',
checkbox:['выразить себя','снять запреты','снять напряжение',],
answer: 1 + 10, //+100
},
{
name:'Что есть игра с точки зрения биогенетиков?',
checkbox:['атавизм','приготовление к жизни','снятие напряжения',],
answer: 1, // +10 +100,
},
// и так далее
];
function makeDOM(html) { //Формируем DOM на основе структуры
for(let category in html) {
let det = document.createElement('details');
let cat = document.createElement('summary');
cat.innerText = category;
det.appendChild(cat);
html[category].forEach(o=>{
let button = document.createElement('button');
button.className = o.k;
button.innerText = o.id;
det.appendChild(button);
});
document.body.appendChild(det);
}
}
let html = {};
function makeButton(o) { //Формируем структуру
if (typeof o !== "object") return;
if (o instanceof Array) {
let k = o[o.length-1];
o.forEach(e=>{e.k=k,makeButton(e)});
return;
}
if (!o.id) {
for(let k in o) makeButton(o[k].concat([k]));
return;
}
let summary;summary = html[o.category] ||(summary = html[o.category] = []);
summary.push({k:o.k,id:o.id});
}
window.addEventListener('DOMContentLoaded',e=>{
makeButton({A:A,B:B,C:C,D:D});
makeDOM(html);
});
"permissions": [
"<all_urls>", "tabs"
],
"permissions": [
"https://toster.ru/*", "https://habr.com/*", "notifications", "storage"
],