Мне сложно создать кнопку на моей странице каталога, страница каталога возвращает либо 8 15 или 20 продуктов из базы данных mysql, поэтому я использую цикл, чтобы вытащить каждый продукт из базы данных, и мне нужна кнопка addtocart который использует javascript для создания эффекта onmouseover, код выглядит следующим образом
echo "<a href=\"catalog.php?buyproduct=$productNumber\" onmouseover=\"document.crt.src='images/addcrt_btn_dn.png'\"
onmouseout=\"document.crt.src='images/addcrt_btn.png'\">
<img src=\"images/addcrt_btn.png\" name=\"crt\" alt=\"Add to cart\" width=\"81\" height=\"24\"> </a>";
код > он отображает изображение правильно, но ничего не происходит, когда мышь помещается поверх изображения. Я предполагаю, что это может быть вызвано тем, что, поскольку создается либо 8 15 или 20 из этих изображений, "name = crt" отбрасывает все это, если да, то как я могу это исправить?
Любые советы были бы вам полезны!
Вместо использования атрибута name в <img>
, я бы начал с рекомендации использовать атрибут id
следующим образом:
<img id="crt" />
Затем вы можете изменить src
следующим образом:
document.getElementById('crt').src = 'images/addcrt_btn_dn.png';
Убедитесь, что вы правильно выбрали все эти кавычки или работаете над созданием контента другим способом (здесь пример, соответствующий атрибуту name
):
...
?>
<a href="catalog.php?buyproduct=<?php=$productNumber?>" onmouseover="document[crt].src='images/addcrt_btn_dn.png'" onmouseout="document[crt].src='images/addcrt_btn.png'">
<img src="images/addcrt_btn.png" name="crt" alt="Add to cart" width="81" height="24">
</a>
<?php
...
name
не обязательно должны быть уникальными, в то время как атрибутыid
должны быть уникальными идентификаторами на странице. При доступе к элементам через DOM с использованием JavaScript, очевидно, удобнее иметь возможность доступа к определенному объекту по его уникальномуid
. Обычно, когда вы хотите получить доступ к элементу поname
, вы получите массив элементов обратно, даже если есть только один элемент с этимname
.