Reputation: 43
Hello I have this CSS popup that currently is setup with a button. I also have this JavaScript "mouse click counter". What I would like to happen is when the counter gets to zero the popup shows up. I think it is easy I just do not have enough experience in JavaScript. Thanks
CSS Popup
.overlay:target {
visibility: visible;
opacity: 1;
}
.popup {
margin: 70px auto;
padding: 20px;
background: #fff;
border-radius: 5px;
width: 30%;
position: relative;
transition: all 5s ease-in-out;
}
.popup h2 {
margin-top: 0;
color: #333;
font-family: Tahoma, Arial, sans-serif;
}
.popup .close {
position: absolute;
top: 20px;
right: 30px;
transition: all 200ms;
font-size: 30px;
font-weight: bold;
text-decoration: none;
color: #333;
}
.popup .close:hover {
color: #06D85F;
}
.popup .content {
max-height: 30%;
overflow: auto;
}
@media screen and (max-width: 700px){
.box{
width: 70%;
}
.popup{
width: 70%;
}
}
JavaScript Mouse Click Counter (Starts at 10 and then goes from there)
var number = 10;
document.onclick = function(){
number --;
document.getElementById("clicks").innerHTML = number;
}
I tend to not clarify things so just to be sure. Once the counter gets down to zero i would like to popup to activate with all the features. Including the screen opaqueness. Thank You!
jsfiddle - mouse click counter here
jsfiddle - pop up here
Upvotes: 1
Views: 117
Reputation: 53684
Here's a way checking to see the value of number
, incrementing #clicks
if the number > -1
, and if number == 0
, update the hash so your popup is shown.
var number = 10;
document.onclick = function() {
number--;
if (number > -1) {
document.getElementById("clicks").innerHTML = number;
(number == 0) && (location.hash = '#popup1')
}
};
.overlay {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0.7);
transition: opacity 500ms;
visibility: hidden;
opacity: 0;
}
.overlay:target {
visibility: visible;
opacity: 1;
}
.popup {
margin: 70px auto;
padding: 20px;
background: #fff;
border-radius: 5px;
width: 30%;
position: relative;
transition: all 5s ease-in-out;
}
.popup h2 {
margin-top: 0;
color: #333;
font-family: Tahoma, Arial, sans-serif;
}
.popup .close {
position: absolute;
top: 20px;
right: 30px;
transition: all 200ms;
font-size: 30px;
font-weight: bold;
text-decoration: none;
color: #333;
}
.popup .close:hover {
color: #06D85F;
}
.popup .content {
max-height: 30%;
overflow: auto;
}
@media screen and (max-width: 700px){
.box{
width: 70%;
}
.popup{
width: 70%;
}
}
<div id="clicks"></div>
<div id="popup1" class="overlay">
<div class="popup">
<h2>WOW!</h2>
<a class="close" href="#">×</a>
<div class="content">
<center>Lets see how you did!!</center>
</div>
</div>
</div>
Upvotes: 1