Как я могу отобразить этот массив в теге marquee? - PullRequest
0 голосов
/ 06 августа 2020

Как я могу отобразить этот массив в теге <marquee>? Я не могу отобразить эти сообщения в HTML

Могу ли я получить помощь в этом случае?

var messages = [
  { name: "Asi", context: "Bla Bla", picture: "asi.jpg" },
  { name: "Lior", context: "Bla Bla", picture: "lior.jpg" },
];

function showMessages() {
  let messageBox = document.getElementById("messagesBox");
  const allTheMessage = messages.map((m) => (
    <div>
      {m.name}
      <br />
      {m.context}
      <br />
      {m.picture}
      <br />
    </div>
  ));

  messageBox.innerHTML = allTheMessage.toString();
}

showMessages();
<marquee scrollamount="4" behavior="scroll" direction="down">
    <h1 id="messagesBox"></h1>
</marquee>

1 Ответ

0 голосов
/ 06 августа 2020

У вас недействительный JS в обратном вызове карты. internal Html принимает

DOMString, содержащую HTML сериализацию потомков элемента

, поэтому вам нужно собрать строка шаблона

var messages = [
    { name: "Asi", context: "Bla Bla", picture: "asi.jpg" },
    { name: "Lior", context: "Bla Bla", picture: "lior.jpg" },
];

function showMessages() {
    let messageBox = document.getElementById("messagesBox");
    const allTheMessage = messages.map(m => `<div>${m.name}<br />${m.context}<br />${m.picture}<br /></div>`);
    messageBox.innerHTML = allTheMessage.join('');
}

showMessages();
<marquee scrollamount="4" behavior="scroll" direction="down">
    <h1 id="messagesBox"></h1>
</marquee>
...