'How can I change the icons of my website using JavaScript?
I'm working on a website project and I would like to have a page with a big python icon in the right and other langages icon in the bottom (in a little size). When an icon is clicked, it has to replace the python icon. This one can also be replaced if an other icon is clicked, etc... I have a problem with my javascript; there is my HTML :
<section>
<div class="content">
<div class="imgBox">
<img src="../images/python.png" class="python">
</div>
</div>
<ul class="thumb">
<li><img class="thumb_image" src="../images/dart.png" onclick="imgSlider('dart.png')"></li>
<li><img class="thumb_image" src="../images/flutter.jpg" onclick="imgSlider('flutter.jpg')"></li>
<li><img class="thumb_image" src="../images/html.png" onclick="imgSlider('html.png')"></li>
<li><img class="thumb_image" src="../images/css.png" onclick="imgSlider('css.png')"></li>
<li><img class="thumb_image" src="../images/js.png" onclick="imgSlider('js.png')"></li>
<li><img class="thumb_image" src="../images/java.png" onclick="imgSlider('java.png')"></li>
</ul>
</section>
<script type="text/javascript">
function imgSlider(anything){
document.querySelector('.python').src = anything;
}
</script>
Can you help me find the mistake ?
Solution 1:[1]
You need to change the imgSlider function to return function like this:
<section>
<div class="content">
<div class="imgBox">
<img src="../images/python.png" class="python">
</div>
</div>
<ul class="thumb">
<li><img class="thumb_image" src="../images/dart.png" onclick="imgSlider('dart.png')"></li>
<li><img class="thumb_image" src="../images/flutter.jpg" onclick="imgSlider('flutter.jpg')"></li>
<li><img class="thumb_image" src="../images/html.png" onclick="imgSlider('html.png')"></li>
<li><img class="thumb_image" src="../images/css.png" onclick="imgSlider('css.png')"></li>
<li><img class="thumb_image" src="../images/js.png" onclick="imgSlider('js.png')"></li>
<li><img class="thumb_image" src="../images/java.png" onclick="imgSlider('java.png')"></li>
</ul>
</section>
<script type="text/javascript">
function imgSlider(anything) {
return function() {
document.querySelector('.python').setAttribute('src', '../images/' + anything);
}
}
</script>
With this change the src only change when user click on the image
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Tam Dao |
