Created
February 18, 2018 13:28
-
-
Save alexmoise/1c4a3caebb76de315a6e3b702186d59a to your computer and use it in GitHub Desktop.
A JS Checkout Popup for WooCommerce, asking user to NOT refresh the page while order completes. Also based on magnificPopup. Only pops up if checkout form is valid.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Styling the JS Checkout Popup for WooCommerce, asking user to NOT refresh the page while order completes. */ | |
/* Order waiting popup */ | |
.white-popup h3 { | |
color: #3cb9f2; | |
} | |
.white-popup { | |
position: relative; | |
background: #FFF; | |
padding: 20px; | |
width: auto; | |
max-width: 280px; | |
margin: 20px auto; | |
text-align: center; | |
border-radius: 5px; | |
box-shadow: 0 0 15px 0px black; | |
} | |
.white-popup-interior { | |
background: #fcffe4; | |
padding: 20px; | |
margin: 20px auto; | |
border-radius: 5px; | |
border: 1px solid #d6e453; | |
font-size: 16px; | |
} | |
/* Order waiting CSS animated spinner */ | |
.loader { | |
color: #4abef3; | |
font-size: 7px; | |
margin: 45px auto 20px; | |
width: 1em; | |
height: 1em; | |
border-radius: 50%; | |
position: relative; | |
text-indent: -9999em; | |
-webkit-animation: load4 1.3s infinite linear; | |
animation: load4 1.3s infinite linear; | |
-webkit-transform: translateZ(0); | |
-ms-transform: translateZ(0); | |
transform: translateZ(0); | |
} | |
@-webkit-keyframes load4 { | |
0%, | |
100% { | |
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; | |
} | |
12.5% { | |
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; | |
} | |
25% { | |
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; | |
} | |
37.5% { | |
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em; | |
} | |
50% { | |
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em; | |
} | |
62.5% { | |
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; | |
} | |
75% { | |
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0; | |
} | |
87.5% { | |
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em; | |
} | |
} | |
@keyframes load4 { | |
0%, | |
100% { | |
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; | |
} | |
12.5% { | |
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; | |
} | |
25% { | |
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em; | |
} | |
37.5% { | |
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em; | |
} | |
50% { | |
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em; | |
} | |
62.5% { | |
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em; | |
} | |
75% { | |
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0; | |
} | |
87.5% { | |
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// A JS Checkout Popup for WooCommerce, asking user to NOT refresh the page while order completes. Also based on magnificPopup. Only pops up if checkout form is valid. | |
jQuery(function() | |
{ | |
jQuery(".woocommerce-checkout").submit(function() | |
{ | |
jQuery(this).valid() && jQuery.magnificPopup.open( | |
{ | |
items: | |
{ | |
src: '<div id="wait-to-complete" class="white-popup"><h3>Placing order...</h3><div class="white-popup-interior">Please don\'t try to refresh the page and wait for the confirmation.</div><div class="loader">Placing the order...</div></div>', | |
type: "inline" | |
}, | |
callbacks: | |
{ | |
open: function() | |
{ | |
setTimeout(function() | |
{ | |
jQuery("form.woocommerce-checkout").magnificPopup("close") | |
}, 10000) // in miliseconds | |
} | |
} | |
}) | |
}) | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment