I have two arrays with the list of images name like this
JavaScript
x
4
1
array 1 = ["arrow1.png", "arrow2.png", "arrow3.png", "arrow4.png", "arrow5.png"]
2
3
array 2 = ["arrow_over1.png", "arrow_over2.png", "arrow_over3.png", "arrow_over4.png", "arrow_over5.png"]
4
I want to change the image in div tag with id="alter_img"
on mouseover
and mouseleave
On mouseover
it should be "arrow1.png"
and on mouseleave
it should be arrow_over1.png
Structure is like this
JavaScript
1
8
1
<div id="alter_img">
2
<img src="arrow1.png">
3
<img src="arrow2.png">
4
<img src="arrow3.png">
5
<img src="arrow4.png">
6
<img src="arrow5.png">
7
</div>
8
How could I do that?
Advertisement
Answer
Use data
attributes:
HTML
JavaScript
1
8
1
<div id="alter_img">
2
<img src="arrow1.png" data-hover_src="arrow_over1.png">
3
<img src="arrow2.png" data-hover_src="arrow_over2.png">
4
<img src="arrow3.png" data-hover_src="arrow_over3.png">
5
<img src="arrow4.png" data-hover_src="arrow_over4.png">
6
<img src="arrow5.png" data-hover_src="arrow_over5.png">
7
</div>
8
jQuery
JavaScript
1
9
1
$(document).ready(function(){
2
$("#alter_img > img").hover(function() {
3
$(this).data("orig_src", $(this).attr("src"));
4
$(this).attr("src", $(this).data("hover_src"));
5
}, function(){
6
$(this).attr("src", $(this).data("orig_src"));
7
});
8
});
9