[英]I'm able to change the image of a card when it is being hovered over. But how do I do this for a large number of cards with different images
Here is an html sample for one card:这是一张卡的 html 样品:
<div class="col s4">
<div class="card">
<div class="card-image">
<img src="img/forZane/Bowl_Andrew (1).jpg" onmouseover="hover(this);" onmouseout="unhover(this);">
</div>
<div class="card-content">
<h4 class="md-font">ceramic one.</h4>
<p class="md-font">$50.</p>
</div>
</div>
</div>
and this is the javascript that i'm using:这是我正在使用的 javascript:
element.setAttribute('src', 'img/forZane/Bowl_Andrew (2).jpg');
}
function unhover(element) {
element.setAttribute('src', 'img/forZane/Bowl_Andrew (1).jpg');
}
I can't figure out how to apply this function/hover technique to different cards with different images.我不知道如何将此功能/悬停技术应用于具有不同图像的不同卡片。
Any help would be greatly appreciated.任何帮助将不胜感激。
You can do this for multiple images by introducing a new parameter to your functions that set the image url to that value:您可以通过向您的函数引入一个新参数来为多个图像执行此操作,将图像 url 设置为该值:
function hover(element, url) element.setAttribute('src', url); } function unhover(element, url) { element.setAttribute('src', url); }
<div class="col s4"> <div class="card"> <div class="card-image"> <img src="img/forZane/Bowl_Andrew (1).jpg" onmouseover="hover(this, 'img/forZane/Bowl_Andrew (2).jpg');" onmouseout="unhover(this, 'img/forZane/Bowl_Andrew (1).jpg');"> </div> <div class="card-content"> <h4 class="md-font">ceramic one.</h4> <p class="md-font">$50.</p> </div> </div> <div class="card"> <div class="card-image"> <img src="img/AnotherImage.jpg" onmouseover="hover(this, 'img/AnotherImageHover.jpg');" onmouseout="unhover(this, 'img/AnotherImage.jpg');"> </div> <div class="card-content"> <h4 class="md-font">wodden one.</h4> <p class="md-font">$70.</p> </div> </div> </div>
That way, you can have the same effect among multiple images.这样,您可以在多个图像之间产生相同的效果。
You can add custom data-*
attributes to your img
tags, so that your hover
/ unhover
functions can change the image in each case.您可以将自定义
data-*
属性添加到您的img
标签,以便您的hover
/ unhover
函数可以在每种情况下更改图像。
Take this for example:以此为例:
function hover(element) { element.setAttribute('src', element.getAttribute('data-hover')); } function unhover(element) { element.setAttribute('src', element.getAttribute('data-unhover')); }
<div class="col s4"> <div class="card"> <div class="card-image"> <img src="img (1).jpg" data-hover="img (2).jpg" data-unhover="img (1).jpg" onmouseover="hover(this);" onmouseout="unhover(this);"> </div> <div class="card-content"> <h4 class="md-font">ceramic one.</h4> <p class="md-font">$50.</p> </div> </div> </div> <div class="col s4"> <div class="card"> <div class="card-image"> <img src="img (1).jpg" data-hover="img (2).jpg" data-unhover="img (1).jpg" onmouseover="hover(this);" onmouseout="unhover(this);"> </div> <div class="card-content"> <h4 class="md-font">ceramic one.</h4> <p class="md-font">$50.</p> </div> </div> </div>
If your filenames are indeed in a consistent format, and all you need to do is switch between filenames ending in "(1)" and "(2)", consider the following alternative.如果您的文件名确实具有一致的格式,并且您需要做的就是在以“(1)”和“(2)”结尾的文件名之间切换,请考虑以下替代方案。
Here, we remove the data-*
attributes, and instead do a replacement of the src
attribute.在这里,我们删除了
data-*
属性,而是替换了src
属性。
function hover(element) { element.setAttribute('src', element.getAttribute('src').replace('(1)', '(2)')); } function unhover(element) { element.setAttribute('src', element.getAttribute('src').replace('(2)', '(1)')); }
<div class="col s4"> <div class="card"> <div class="card-image"> <img src="img (1).jpg" onmouseover="hover(this);" onmouseout="unhover(this);"> </div> <div class="card-content"> <h4 class="md-font">ceramic one.</h4> <p class="md-font">$50.</p> </div> </div> </div> <div class="col s4"> <div class="card"> <div class="card-image"> <img src="img (1).jpg" onmouseover="hover(this);" onmouseout="unhover(this);"> </div> <div class="card-content"> <h4 class="md-font">ceramic one.</h4> <p class="md-font">$50.</p> </div> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.