.disable-all-buttons button {
pointer-events: none; /* отключаем реакцию на клик и тап */
opacity: 0.6; /* делаем кнопку "бледной" */
}
data: () => ({
items: [
{ active: false, text: '...' },
{ active: false, text: '...' },
...
],
}),
<div
v-for="n in items"
v-text="n.text"
:class="[ { active: n.active }, 'toggle' ]"
@click="n.active = !n.active"
></div>
а как сделать чтобы не городить кучу даныx в data?
data: () => ({
itemsCount: 5,
active: [],
}),
methods: {
toggle(item) {
const i = this.active.indexOf(item);
if (i === -1) {
this.active.push(item);
} else {
this.active.splice(i, 1);
}
},
},
<div
v-for="i in itemsCount"
v-text="`Item ${i}`"
:class="[ { active: active.includes(i) }, 'toggle' ]"
@click="toggle(i)"
></div>
Object.defineProperty(NodeList.prototype, "addEventListener", {
value: function (event, callback, useCapture) {
useCapture = ( !! useCapture) | false;
for (var i = 0; i < this.length; ++i) {
if (this[i] instanceof Node) {
this[i].addEventListener(event, callback, useCapture);
}
}
return this;
}
});
Здравствуйте, у меня возникла идея о создании полноценной игры-стратегии, написанной на JavaScript.
для создания игры-стратегии для разных устройств на языке JS (возможно в браузере)
что лучше мне использовать
Я бы хотел услышать ваши советы
p test: {{ isNewDesign }}
function getAttrs(element) {
var attrs = {};
[...element.attributes].forEach(attr => attrs[attr.name] = attr.value.split(' '))
return attrs
}
// <div class="question__text js-question-text" itemprop="text description">
console.log(
getAttrs(document.querySelector('div'))
)
// -> {"class":["question__text","js-question-text"],"itemprop":["text","description"]}
Как раскидать файлы по папкам?Элементарно.
[...document.querySelectorAll('.buy > i')]
.filter((n, i, a) => i !== a.findIndex(m => m.innerText === n.innerText))
.forEach(n => n.parentNode.style.display = 'none');
const grouped = Array
.from(document.querySelectorAll('.buy > i'), n => [ n.parentNode, n.innerText ])
.reduce((acc, n) => ((acc[n[1]] = acc[n[1]] || []).push(n[0]), acc), {});
Object.values(grouped).forEach(n => n.forEach((m, i) => m.hidden = !!i));
.hidden {
display: none;
}
const unique = new Set();
for (const n of document.querySelectorAll('.buy > i')) {
if (unique.has(n.innerText)) {
n.parentNode.classList.add('hidden');
} else {
unique.add(n.innerText);
}
}