Sempervivum
Erfahrenes Mitglied
Ich hatte angenommen, dass Du das img-Element dynamisch anlegen musst, aber wie ich sehe ist das gar nicht erforderlich:
Im HTML das img-Tag einfügen:
und im Javascript das src-Attribut zuweisen:
Im HTML das img-Tag einfügen:
Code:
<div class="container">
<img id="image">
<div id="text">Text</div>
<div id="option-buttons" class="btn-grid">
<button class="btn">Option 1</button>
<button class="btn">Option 2</button>
<button class="btn">Option 3</button>
<button class="btn">Option 4</button>
</div>
</div>
Code:
// zunaechst das Element fuer das Bild bereit stellen:
const imgElement = document.getElementById ('image');
const textElement = document.getElementById('text')
const optionButtonsElement = document.getElementById('option-buttons')
// und dann weiter unten das src-Attribut zuweisen:
function showTextNode(textNodeIndex) {
const textNode = textNodes.find(textNode => textNode.id === textNodeIndex)
textElement.innerText = textNode.text
imgElement.src = textNode.image; // <-- hier
while (optionButtonsElement.firstChild) {
optionButtonsElement.removeChild(optionButtonsElement.firstChild)
}
textNode.options.forEach(option => {
if (showOption(option)) {
const image = document.createElement('image')
const button = document.createElement('button')
button.innerText = option.text
button.classList.add('btn')
button.addEventListener('click', () => selectOption(option))
optionButtonsElement.appendChild(button)
}
})
}