РЕАГИРОВАТЬ: Изменять текст, отображаемый при наведении курсора мыши

#javascript #reactjs

#javascript #reactjs

Вопрос:

На главной странице я хочу, чтобы пользователи наводили курсор на интервал, и когда они это делают, содержимое диапазона меняется, а фон тоже меняется.

Я создал массив для хранения данных, изменения текста и фонового изображения. Я собираюсь объединить файлы src для фона.

Я нашел этот фрагмент кода и адаптировал его. У меня проблема с innerHTML, поскольку я не использую jQuery. Я не знаю, что делать в jsx.

Действие наведения работает, я записал журнал консоли, но он прерывается в части innerHTML.

Массив на 2 уровня выше по компоненту.

 //-Home.js  
//--Hero.js  
//---HeroImageItems.js (this is where the code below resides)  

export class HeroImageItems extends Component {
  loopHeroTitle = () => {
    let list = this.props.heroImage.title;
    titleSequence(0);

    function titleSequence(i) {
      if (list.length > i) {
        setTimeout(function() {
          document.getElementById("hero-image-title").innerHTML = list[i];
          titleSequence(  i);
        }, 1000);
      } else if (list.length == i) {
        titleSequence(0);
      }
    }
  };

  render() {
    return (
      <div className="hero-image-bg">
        <p
          className="hero-image-title"
          id="hero-title-span"
          onMouseOver={this.loopHeroTitle}
          style={this.getActiveText()}
        >
          {this.props.heroImage.title}
        </p>
      </div>
    );
  }
}

HeroImageItems.propTypes = {
  heroImages: PropTypes.object.isRequired
};

export default HeroImageItems;
  

Комментарии:

1. Можете ли вы добавить немного больше контекста о том, что вы пытаетесь сделать? Что такое titleSequence ?

Ответ №1:

У вас неверный идентификатор. document.getElementById(«герой-изображение-заголовок»).innerHTML = list[i]; это то, где вы устанавливаете innerHTML.

Этот тег p имеет идентификатор «hero-title-span»

Введите правильный идентификатор, и все будет готово!

Комментарии:

1. Это устранило ошибку- omds спасибо, как я мог пропустить этот lool! Прямо сейчас выполняется перебор букв в выбранном элементе массива. Я хочу, чтобы он перебирал разные элементы. Должен ли я добавить код массива к вопросу