how do i show a div on clicking another div and hide it on clicking that same div?












0















i have a div with 7 children, on hover an item changes background and text pads left from center. I've done that with CSS.
now i want when the user clicks on an item it shows another div (.wrapper) with JavaScript. if the user click again it hides the particular div.
how can i achieve this logic with JavaScript?



here is my html snippet



<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>


CSS code



/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}


JavaScript



$(document).ready(function() {
$('.category' > div ).on('click', function(){
$('.wrapper').show();
})
});









share|improve this question























  • did you try ".toggle" instead of ".show" ? so that when you click it will hide if shown, and show it if hidden

    – Daniel Vafidis
    Jan 18 at 12:54
















0















i have a div with 7 children, on hover an item changes background and text pads left from center. I've done that with CSS.
now i want when the user clicks on an item it shows another div (.wrapper) with JavaScript. if the user click again it hides the particular div.
how can i achieve this logic with JavaScript?



here is my html snippet



<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>


CSS code



/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}


JavaScript



$(document).ready(function() {
$('.category' > div ).on('click', function(){
$('.wrapper').show();
})
});









share|improve this question























  • did you try ".toggle" instead of ".show" ? so that when you click it will hide if shown, and show it if hidden

    – Daniel Vafidis
    Jan 18 at 12:54














0












0








0








i have a div with 7 children, on hover an item changes background and text pads left from center. I've done that with CSS.
now i want when the user clicks on an item it shows another div (.wrapper) with JavaScript. if the user click again it hides the particular div.
how can i achieve this logic with JavaScript?



here is my html snippet



<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>


CSS code



/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}


JavaScript



$(document).ready(function() {
$('.category' > div ).on('click', function(){
$('.wrapper').show();
})
});









share|improve this question














i have a div with 7 children, on hover an item changes background and text pads left from center. I've done that with CSS.
now i want when the user clicks on an item it shows another div (.wrapper) with JavaScript. if the user click again it hides the particular div.
how can i achieve this logic with JavaScript?



here is my html snippet



<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>


CSS code



/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}


JavaScript



$(document).ready(function() {
$('.category' > div ).on('click', function(){
$('.wrapper').show();
})
});






javascript html css






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 18 at 12:47









molten-leadmolten-lead

33




33













  • did you try ".toggle" instead of ".show" ? so that when you click it will hide if shown, and show it if hidden

    – Daniel Vafidis
    Jan 18 at 12:54



















  • did you try ".toggle" instead of ".show" ? so that when you click it will hide if shown, and show it if hidden

    – Daniel Vafidis
    Jan 18 at 12:54

















did you try ".toggle" instead of ".show" ? so that when you click it will hide if shown, and show it if hidden

– Daniel Vafidis
Jan 18 at 12:54





did you try ".toggle" instead of ".show" ? so that when you click it will hide if shown, and show it if hidden

– Daniel Vafidis
Jan 18 at 12:54












3 Answers
3






active

oldest

votes


















-1














use this code



$(document).ready(function() {
$('.category>div' ).on('click', function(){
$('.wrapper').toggle();
})
});


and add this css to hide div in starting



.wrapper{
display:none
}





share|improve this answer


























  • .wrapper is on display: none, i've made the changes but it is not responding yet...

    – molten-lead
    Jan 18 at 13:03











  • i have edited my answer. hope this work!!

    – Ved_Code_it
    Jan 18 at 13:15











  • it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

    – molten-lead
    Jan 18 at 13:29



















2














I am not sure about the term particular div here. May be you can try with toggle(). You also have syntax error in wrapping the selector:






$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>








share|improve this answer
























  • The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

    – molten-lead
    Jan 18 at 12:56











  • @molten-lead, this is what the proposed solution is doing now...

    – Mamun
    Jan 18 at 12:58











  • what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

    – molten-lead
    Jan 18 at 13:11













  • yes it works here but in my page it doesn't

    – molten-lead
    Jan 18 at 13:14











  • @molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

    – Mamun
    Jan 18 at 13:15



















1














You made a mistake in your css selector, it's not '.category' > div, it should be '.category > div'



$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});





share|improve this answer





















  • 1





    also .toggle() instead of .show()

    – anttud
    Jan 18 at 12:52











  • still does not work despite, the toggle() and '.category > div'

    – molten-lead
    Jan 18 at 12:57













  • I don't how this will meet the condition if the user click again it hides the particular div

    – Mamun
    Jan 18 at 13:00













Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54254347%2fhow-do-i-show-a-div-on-clicking-another-div-and-hide-it-on-clicking-that-same-di%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









-1














use this code



$(document).ready(function() {
$('.category>div' ).on('click', function(){
$('.wrapper').toggle();
})
});


and add this css to hide div in starting



.wrapper{
display:none
}





share|improve this answer


























  • .wrapper is on display: none, i've made the changes but it is not responding yet...

    – molten-lead
    Jan 18 at 13:03











  • i have edited my answer. hope this work!!

    – Ved_Code_it
    Jan 18 at 13:15











  • it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

    – molten-lead
    Jan 18 at 13:29
















-1














use this code



$(document).ready(function() {
$('.category>div' ).on('click', function(){
$('.wrapper').toggle();
})
});


and add this css to hide div in starting



.wrapper{
display:none
}





share|improve this answer


























  • .wrapper is on display: none, i've made the changes but it is not responding yet...

    – molten-lead
    Jan 18 at 13:03











  • i have edited my answer. hope this work!!

    – Ved_Code_it
    Jan 18 at 13:15











  • it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

    – molten-lead
    Jan 18 at 13:29














-1












-1








-1







use this code



$(document).ready(function() {
$('.category>div' ).on('click', function(){
$('.wrapper').toggle();
})
});


and add this css to hide div in starting



.wrapper{
display:none
}





share|improve this answer















use this code



$(document).ready(function() {
$('.category>div' ).on('click', function(){
$('.wrapper').toggle();
})
});


and add this css to hide div in starting



.wrapper{
display:none
}






share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 18 at 13:14

























answered Jan 18 at 12:53









Ved_Code_itVed_Code_it

244




244













  • .wrapper is on display: none, i've made the changes but it is not responding yet...

    – molten-lead
    Jan 18 at 13:03











  • i have edited my answer. hope this work!!

    – Ved_Code_it
    Jan 18 at 13:15











  • it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

    – molten-lead
    Jan 18 at 13:29



















  • .wrapper is on display: none, i've made the changes but it is not responding yet...

    – molten-lead
    Jan 18 at 13:03











  • i have edited my answer. hope this work!!

    – Ved_Code_it
    Jan 18 at 13:15











  • it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

    – molten-lead
    Jan 18 at 13:29

















.wrapper is on display: none, i've made the changes but it is not responding yet...

– molten-lead
Jan 18 at 13:03





.wrapper is on display: none, i've made the changes but it is not responding yet...

– molten-lead
Jan 18 at 13:03













i have edited my answer. hope this work!!

– Ved_Code_it
Jan 18 at 13:15





i have edited my answer. hope this work!!

– Ved_Code_it
Jan 18 at 13:15













it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

– molten-lead
Jan 18 at 13:29





it works just like @Mamun's abave , its an error in my linking the libraries, thank you.

– molten-lead
Jan 18 at 13:29













2














I am not sure about the term particular div here. May be you can try with toggle(). You also have syntax error in wrapping the selector:






$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>








share|improve this answer
























  • The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

    – molten-lead
    Jan 18 at 12:56











  • @molten-lead, this is what the proposed solution is doing now...

    – Mamun
    Jan 18 at 12:58











  • what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

    – molten-lead
    Jan 18 at 13:11













  • yes it works here but in my page it doesn't

    – molten-lead
    Jan 18 at 13:14











  • @molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

    – Mamun
    Jan 18 at 13:15
















2














I am not sure about the term particular div here. May be you can try with toggle(). You also have syntax error in wrapping the selector:






$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>








share|improve this answer
























  • The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

    – molten-lead
    Jan 18 at 12:56











  • @molten-lead, this is what the proposed solution is doing now...

    – Mamun
    Jan 18 at 12:58











  • what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

    – molten-lead
    Jan 18 at 13:11













  • yes it works here but in my page it doesn't

    – molten-lead
    Jan 18 at 13:14











  • @molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

    – Mamun
    Jan 18 at 13:15














2












2








2







I am not sure about the term particular div here. May be you can try with toggle(). You also have syntax error in wrapping the selector:






$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>








share|improve this answer













I am not sure about the term particular div here. May be you can try with toggle(). You also have syntax error in wrapping the selector:






$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>








$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>





$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});

/*styles individual divs in the category class*/
.category > div:hover {
cursor: pointer;
transform-style: flat;
animation-delay: 0.1s;
display: flex;
border: 1px 1px 1px 1px solid;
background-color: #898488;
color: #7AC4EE;
border-left-color: yellow;
box-sizing: border-box;
}
/*class that i want to display on click*/
.wrapper {
display: none;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
box-sizing: border-box;
width: 623px;
padding: 0;
align-self: center;
height: 100%;
margin-bottom: auto;
box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.3);
}
/*the classes below are in .wrapper*/
.control {
flex: 1;
background:white;
position: relative;
}

.content {
flex: 4;
height: 92%;
width: 415px;
margin-top: 5px;
margin-bottom: 5px;
background: lightblue;
position: relative;
}
.content_desc {
flex: 2;
height: 22px;
width: 415px;
margin-top: 370px ;
margin-left: 104px;
margin-right: 98.5px;
background-color: white;
border: 0.3px solid;
position: absolute;
}

.control img {
position: absolute;
left: 50%;
top: 50%;
height: 40px;
width: 40px;
background: white;
box-sizing: border-box;
transform: translate(-50%, -50%);
}
.control img:hover {
cursor: pointer;
background-color: yellow;
transition-delay: 0.2s;
animation: 0.1s ease-in;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="category">
<div class="furniture">Furniture</div>
<div class="tableware">Tableware</div>
<div class="jewellery">Jewellery</div>
<div class="shoes">Shoes</div>
<div class="water_bottles">Water Bottles</div>
<div class="clothes">Clothes</div>
<div class="textiles">Fabric Patterns</div>
</div>

<div class="upload">
<div class="wrapper">
<div class="control"><img src="back.png"></div>
<div class="content"></div>
<div class="content_desc"></div>
<div class="control"><img src="forward.png"></div>
</div>
</div>






share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 18 at 12:53









MamunMamun

26.1k71530




26.1k71530













  • The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

    – molten-lead
    Jan 18 at 12:56











  • @molten-lead, this is what the proposed solution is doing now...

    – Mamun
    Jan 18 at 12:58











  • what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

    – molten-lead
    Jan 18 at 13:11













  • yes it works here but in my page it doesn't

    – molten-lead
    Jan 18 at 13:14











  • @molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

    – Mamun
    Jan 18 at 13:15



















  • The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

    – molten-lead
    Jan 18 at 12:56











  • @molten-lead, this is what the proposed solution is doing now...

    – Mamun
    Jan 18 at 12:58











  • what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

    – molten-lead
    Jan 18 at 13:11













  • yes it works here but in my page it doesn't

    – molten-lead
    Jan 18 at 13:14











  • @molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

    – Mamun
    Jan 18 at 13:15

















The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

– molten-lead
Jan 18 at 12:56





The .wrapper is the div to be made visible on clicking eg .furniture a child of category and hidden on clicking that same child.

– molten-lead
Jan 18 at 12:56













@molten-lead, this is what the proposed solution is doing now...

– Mamun
Jan 18 at 12:58





@molten-lead, this is what the proposed solution is doing now...

– Mamun
Jan 18 at 12:58













what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

– molten-lead
Jan 18 at 13:11







what might be wrong with my code ? could it be my referencing of the scripts? <body> <link rel="stylesheet" type="text/css" href="style.css"> <script src="jquery-3.3.1.min.js"></script> <script src="ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script> <script type="text/javascript" src="function.js"></script><header> @mamun

– molten-lead
Jan 18 at 13:11















yes it works here but in my page it doesn't

– molten-lead
Jan 18 at 13:14





yes it works here but in my page it doesn't

– molten-lead
Jan 18 at 13:14













@molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

– Mamun
Jan 18 at 13:15





@molten-lead, yes path of jQuery might not be correct. In that case you should get error in console....

– Mamun
Jan 18 at 13:15











1














You made a mistake in your css selector, it's not '.category' > div, it should be '.category > div'



$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});





share|improve this answer





















  • 1





    also .toggle() instead of .show()

    – anttud
    Jan 18 at 12:52











  • still does not work despite, the toggle() and '.category > div'

    – molten-lead
    Jan 18 at 12:57













  • I don't how this will meet the condition if the user click again it hides the particular div

    – Mamun
    Jan 18 at 13:00


















1














You made a mistake in your css selector, it's not '.category' > div, it should be '.category > div'



$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});





share|improve this answer





















  • 1





    also .toggle() instead of .show()

    – anttud
    Jan 18 at 12:52











  • still does not work despite, the toggle() and '.category > div'

    – molten-lead
    Jan 18 at 12:57













  • I don't how this will meet the condition if the user click again it hides the particular div

    – Mamun
    Jan 18 at 13:00
















1












1








1







You made a mistake in your css selector, it's not '.category' > div, it should be '.category > div'



$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});





share|improve this answer















You made a mistake in your css selector, it's not '.category' > div, it should be '.category > div'



$(document).ready(function() {
$('.category > div').on('click', function(){
$('.wrapper').toggle();
})
});






share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 18 at 13:04

























answered Jan 18 at 12:50









SarabandSaraband

26918




26918








  • 1





    also .toggle() instead of .show()

    – anttud
    Jan 18 at 12:52











  • still does not work despite, the toggle() and '.category > div'

    – molten-lead
    Jan 18 at 12:57













  • I don't how this will meet the condition if the user click again it hides the particular div

    – Mamun
    Jan 18 at 13:00
















  • 1





    also .toggle() instead of .show()

    – anttud
    Jan 18 at 12:52











  • still does not work despite, the toggle() and '.category > div'

    – molten-lead
    Jan 18 at 12:57













  • I don't how this will meet the condition if the user click again it hides the particular div

    – Mamun
    Jan 18 at 13:00










1




1





also .toggle() instead of .show()

– anttud
Jan 18 at 12:52





also .toggle() instead of .show()

– anttud
Jan 18 at 12:52













still does not work despite, the toggle() and '.category > div'

– molten-lead
Jan 18 at 12:57







still does not work despite, the toggle() and '.category > div'

– molten-lead
Jan 18 at 12:57















I don't how this will meet the condition if the user click again it hides the particular div

– Mamun
Jan 18 at 13:00







I don't how this will meet the condition if the user click again it hides the particular div

– Mamun
Jan 18 at 13:00




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54254347%2fhow-do-i-show-a-div-on-clicking-another-div-and-hide-it-on-clicking-that-same-di%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Liquibase includeAll doesn't find base path

How to use setInterval in EJS file?

Petrus Granier-Deferre