Reputation: 13
Some background of what I am trying to do:
I am making a page where there are 4 icons/imgs at the top and when each icon is clicked, certain content is displayed under it. The user can click on any of the icons to hide the current and show the content connected to the icon they click.
So far I've got that working, but now I am trying to have the icons change to another icon after being clicked, to show that certain content is active/showing on the page.
I've tried using onclick, but seeing as how I already have an onclick function, I wasn't sure how that would work.
Now I am stuck on how to proceed, any help is much appreciated.
Here is what I have so far:
function show(param_div_id) {
document.getElementById('main_place').innerHTML = document.getElementById(param_div_id).innerHTML;
}
window.onload = function() {
show('operation1');
}
#operation1,
#operation2,
#operation3,
#operation4 {
display: none;
}
.div1 ul,
.div2 ul,
.div3 ul,
.div4 ul {
padding-left: 25px;
line-height: 2;
font-weight: 600;
}
.div1 .container,
.div2 .container,
.div3 .container,
.div4 .container {
padding-bottom: 4%;
}
.div1 a {
border-left: 5px solid #BAC36A;
padding-left: 10px;
color: #214D29;
font-weight: 600;
margin-left: 8px;
}
#click_imgs h5 {
color: #3D4643;
}
#image-one img,
#image-two img,
#image-three img,
#image-four img {
transition: transform 0.5s;
}
#image-one img:hover,
#image-two img:hover,
#image-three img:hover,
#image-four img:hover {
transform: scale(1.1);
}
#image-one img:active {
background: url('https://www.wallisbank.com/wp-content/uploads/[email protected]') no-repeat center;
background-size: 100% 100%;
}
#click_imgs h5 {
padding-top: 20px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<!---->
<div style="text-align: center; padding-bottom: 4%;">
<div id="click_imgs" style="display: flex; padding-bottom: 20px; justify-content: space-between;">
<div id="image-one"><img onclick="show('operation1')" src="https://via.placeholder.com/150x150.png?text=ICON+1" width="150" />
<h5>ICON 1</h5>
</div>
<div id="image-two"><img onclick="show('operation2')" src="https://via.placeholder.com/150x150.png?text=ICON+2" width="150" />
<h5>ICON 2</h5>
</div>
<div id="image-three"><img onclick="show('operation3')" src="https://via.placeholder.com/150x150.png?text=ICON+3" width="150" />
<h5>ICON 3</h5>
</div>
<div id="image-four"><img onclick="show('operation4')" src="https://via.placeholder.com/150x150.png?text=ICON+4" width="150" />
<h5>ICON 4</h5>
</div>
</div>
</div>
<hr>
<div id="main_place">
main
</div>
<div id="operation1">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 1
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur. Integer in ex nunc. Nullam
elementum eget sem et aliquam. Proin venenatis porta odio a sollicitudin. Curabitur sit amet tortor id nisl tempus venenatis. Vivamus semper, dolor sed vulputate finibus, magna dui faucibus est, id finibus risus arcu in velit. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam mattis volutpat efficitur. Phasellus venenatis turpis nibh, auctor tincidunt diam dictum non. Vestibulum tincidunt interdum efficitur. Integer cursus aliquet blandit. Donec
auctor augue vitae metus faucibus, ut semper felis egestas. Nunc eu mattis lacus, non fermentum mauris.
</p>
<div class="div1">
<div>
<div id="360-slide-1">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Integer in ex nunc</li>
</ul>
<a href="#">LEARN MORE</a>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
</ul>
<a href="#">LEARN MORE</a>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
<li>Integer eleifend erat elit</li>
</ul>
<a href="#">LEARN MORE</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="operation2">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 2
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur. Integer in ex nunc. Nullam
elementum eget sem et aliquam. Proin venenatis porta odio a sollicitudin. Curabitur sit amet tortor id nisl tempus venenatis. Vivamus semper, dolor sed vulputate finibus, magna dui faucibus est, id finibus risus arcu in velit. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas.
</p>
<div class="div2">
<div>
<div id="360-slide-2">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Lorem ipsum dolor sit amet</li>
</ul>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="operation3">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 3
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur. Integer in ex nunc. Nullam
elementum eget sem et aliquam. Proin venenatis porta odio a sollicitudin.
</p>
<div class="div2">
<div>
<div id="360-slide-3">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="operation4">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 4
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur.
</p>
<div class="div4">
<div id="360-slide-4">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
Upvotes: 1
Views: 101
Reputation: 23664
This illustrates one way of going about it. Use data-attributes to store information about the element. Then you don't need to hardcode logic into your script, as it's all available to you right there. For each of the image nav items, you can add these 3 data attributes:
<img data-clickref="operation1"
data-src="https://via.placeholder.com/150x150.png?text=ICON+1"
data-activesrc="https://via.placeholder.com/150x150.png?text=ICON+1+-CLICKED"
width="150" />
In the window.load
listener, we cycle through these and set the src
(notice it's missing) to be data-src
. Then also attach the click listener in that same loop. The last line show()
is passing
a faux event object to be similar to what our function is expecting.
// set it all up
window.addEventListener('load', () => {
document.querySelectorAll('img[data-clickref]').forEach(el => {
// set up the initial image
el.src = el.dataset.src
el.addEventListener('click', show)
})
show({ target: document.querySelector('img[data-clickref]') });
})
Every time a nav item is clicked, we change out src
with data-activesrc
in the show(e)
function. e
represents the click event, and the item that was clicked is e.target
and the HTML element we need to show is e.target.dataset.clickref
function show(e) {
let param_div_id = e.target.dataset.clickref
document.getElementById('main_place').innerHTML = document.getElementById(param_div_id).innerHTML;
//reset all
document.querySelectorAll('img[data-clickref]').forEach(el => el.src = el.dataset.src)
e.target.src = e.target.dataset.activesrc;
}
window.addEventListener('load', () => {
document.querySelectorAll('img[data-clickref]').forEach(el => {
// set up the initial image
el.src = el.dataset.src
el.addEventListener('click', show)
})
show({
target: document.querySelector('img[data-clickref]')
});
})
#operation1,
#operation2,
#operation3,
#operation4 {
display: none;
}
.div1 ul,
.div2 ul,
.div3 ul,
.div4 ul {
padding-left: 25px;
line-height: 2;
font-weight: 600;
}
.div1 .container,
.div2 .container,
.div3 .container,
.div4 .container {
padding-bottom: 4%;
}
.div1 a {
border-left: 5px solid #BAC36A;
padding-left: 10px;
color: #214D29;
font-weight: 600;
margin-left: 8px;
}
#click_imgs h5 {
color: #3D4643;
}
#image-one img,
#image-two img,
#image-three img,
#image-four img {
transition: transform 0.5s;
}
#image-one img:hover,
#image-two img:hover,
#image-three img:hover,
#image-four img:hover {
transform: scale(1.1);
}
#image-one img:active {
background: url('https://www.wallisbank.com/wp-content/uploads/[email protected]') no-repeat center;
background-size: 100% 100%;
}
#click_imgs h5 {
padding-top: 20px;
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<!---->
<div style="text-align: center; padding-bottom: 4%;">
<div id="click_imgs" style="display: flex; padding-bottom: 20px; justify-content: space-between;">
<div id="image-one"><img data-clickref="operation1" data-src="https://via.placeholder.com/150x150.png?text=ICON+1" data-activesrc="https://via.placeholder.com/150x150.png?text=ICON+1+-CLICKED" width="150" />
<h5>ICON 1</h5>
</div>
<div id="image-two"><img data-clickref="operation2" data-src="https://via.placeholder.com/150x150.png?text=ICON+2" data-activesrc="https://via.placeholder.com/150x150.png?text=ICON+2+-CLICKED" width="150" />
<h5>ICON 2</h5>
</div>
<div id="image-three"><img data-clickref="operation3" data-src="https://via.placeholder.com/150x150.png?text=ICON+3" data-activesrc="https://via.placeholder.com/150x150.png?text=ICON+3+-CLICKED" width="150" />
<h5>ICON 3</h5>
</div>
<div id="image-four"><img data-clickref="operation4" data-src="https://via.placeholder.com/150x150.png?text=ICON+4" data-activesrc="https://via.placeholder.com/150x150.png?text=ICON+4+-CLICKED" width="150" />
<h5>ICON 4</h5>
</div>
</div>
</div>
<hr>
<div id="main_place">
main
</div>
<div id="operation1">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 1
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur. Integer in ex nunc. Nullam
elementum eget sem et aliquam. Proin venenatis porta odio a sollicitudin. Curabitur sit amet tortor id nisl tempus venenatis. Vivamus semper, dolor sed vulputate finibus, magna dui faucibus est, id finibus risus arcu in velit. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam mattis volutpat efficitur. Phasellus venenatis turpis nibh, auctor tincidunt diam dictum non. Vestibulum tincidunt interdum efficitur. Integer cursus aliquet blandit. Donec
auctor augue vitae metus faucibus, ut semper felis egestas. Nunc eu mattis lacus, non fermentum mauris.
</p>
<div class="div1">
<div>
<div id="360-slide-1">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Integer in ex nunc</li>
</ul>
<a href="#">LEARN MORE</a>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
</ul>
<a href="#">LEARN MORE</a>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-1+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
<li>Integer eleifend erat elit</li>
</ul>
<a href="#">LEARN MORE</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="operation2">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 2
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur. Integer in ex nunc. Nullam
elementum eget sem et aliquam. Proin venenatis porta odio a sollicitudin. Curabitur sit amet tortor id nisl tempus venenatis. Vivamus semper, dolor sed vulputate finibus, magna dui faucibus est, id finibus risus arcu in velit. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas.
</p>
<div class="div2">
<div>
<div id="360-slide-2">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Lorem ipsum dolor sit amet</li>
</ul>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Curabitur sit amet tortor id nisl tempus venenatis</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-2+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Integer in ex nunc</li>
<li>Lorem ipsum dolor sit amet</li>
<li>Phasellus venenatis turpis nibh</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="operation3">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 3
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur. Integer in ex nunc. Nullam
elementum eget sem et aliquam. Proin venenatis porta odio a sollicitudin.
</p>
<div class="div2">
<div>
<div id="360-slide-3">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-3+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="operation4">
<h1 class="360_sub_titles" style="color: #214D29;">
CONTENT 4
</h1>
<p class="360_sub_txt" style="color: #3D4643; padding-bottom: 5%;">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sagittis dui tempus, porttitor erat et, mattis odio. Integer eleifend erat elit, at vestibulum tellus egestas quis. Morbi vulputate luctus lacus ac efficitur.
</p>
<div class="div4">
<div id="360-slide-4">
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 1</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+1" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+2" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 2</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 3</h3>
<ul style="color: #3d4643;">
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
<li>Integer eleifend erat elit</li>
</ul>
</div>
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+3" width="400" /></div>
</div>
</div>
<!--BREAK-->
<div class="container first-content">
<div class="row">
<div class="col"><img src="https://via.placeholder.com/400x280.png?text=CONTENT-4+IMG+4" width="400" /></div>
<div class="col">
<h3 style="color: #214d29;">SUB-TITLE 4</h3>
<ul style="color: #3d4643;">
<li>Lorem ipsum dolor sit amet</li>
<li>consectetur adipiscing elit</li>
<li>Maecenas sagittis dui tempus, porttitor erat et</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
Upvotes: 0
Reputation: 312
You can add multiple event listeners using the eventlistener javascript API; you can also change an img
tag image on the fly by changing its src
attribute:
let clicked = false;
let ico = document.getElementById('ico');
// add listener for 'click' event on the '#ico' image
ico.addEventListener('click', (event) => {
clicked = !clicked;
if (clicked) {
ico.src = "https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox.svg";
} else {
ico.src = "https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome.svg";
}
});
// second event listener
ico.addEventListener('click', (event) => {
console.log('clicked');
});
<img id="ico" height="75" width="75" src="https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome.svg">
To solve your problem, you can simply add an event listener on each icon and track which one is curently selected :
let selected = null;
let icons = document.getElementsByClassName('ico');
for (const ico of icons) {
ico.addEventListener('click', (event) => {
selected = event.target;
for (const ico of icons) {
ico.src = "https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome.svg";
}
selected.src = "https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox.svg";
});
}
<img class="ico" height="75" width="75" src="https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome.svg">
<img class="ico" height="75" width="75" src="https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome.svg">
<img class="ico" height="75" width="75" src="https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome.svg">
Upvotes: 2