Сравнение источника изображения (оператор If)

1

Итак, я пытаюсь создать оператор If, чтобы сравнить источник моего изображения, чтобы я мог изменить его с соответствующим обратным изображением.

function changeBack() {
let image = document.getElementById('product__picture');  
    console.log(image);
if(image.src === 'assets/red.jpg'){
    image.src = ('assets/red-reversed.jpg');
    console.log(image);

} else if(image.src === 'assets/orange.jpg'){
    image.src = ('assets/orange-reversed.jpg');
}

HTML:

<article class="product">
       <h2 class="hidden">Display Picture</h2>
       <img id="product__picture" src="assets/red.jpg" alt="Laptop case">
</article>

Здесь моя кнопка onclick:

 <article id="reverse">
        <h2 class="subtitle">Select side</h2>
        <div id="reverse__container">
        <p id="front" class="reverse__text">Front</p>
        <p id="back" class="reverse__text" onclick="changeBack();">Back</p>
    </div>
    </article>
  • 0
    Вам не нужно просто читать из image.src и устанавливать его? Вам также не нужны скобки вокруг строк, но они также не должны вызывать проблем.
Теги:

2 ответа

2

Вам нужно проверить свойство src а не объект.

Кстати, строки не нужны круглые скобки.

function changeBack() {
    let image = document.getElementById('product__picture');

    if (image.src === 'assets/red.jpg') {
        image.src = 'assets/red-reversed.assets';
    } else if (image.src === 'assets/orange.jpg') {
        image.src = 'assets/orange-reversed.jpg';
    }
}
  • 0
    Имейте в image.src что image.src может быть полным URL, а не только assets / red.jpg.
  • 1
    @LucasOliveira Я проверил, поместив его в console.log (), и там написано 'assets / red.jpg', так что должно быть в порядке?
Показать ещё 1 комментарий
0

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

function changeBack() {
  let image = document.getElementById('product__picture');  

  if(image.src === 'assets/red.jpg'){
      image.src = 'assets/red-reversed.assets'
  } else if(image.src === 'assets/orange.jpg') {
      image.src = 'assets/orange-reversed.jpg';
  }
}
  • 0
    Кажется, я не могу сейчас войти в мое утверждение if, хотя мой источник верен
  • 0
    что вы видите в консоли, если вы вошли в систему image.src

Ещё вопросы

Сообщество Overcoder
Наверх
Меню