Having a fancy web site with cool pop up effects is always a good thing. The problem is that third-party scripts and css might affect your existing ones on your web site. It has happen to me before and it’s pretty annoying. So I thought it would be good to make a simple effect with the minimum code (JQuery with some CSS attached to it).
Live Demo | Download (86.5KB)
The principle is simple. Use a div – or set of divs – and show / hide it on demand.
First of all, you’ll need to import the JQuery Library to your page.
<script type="text/javascript" src="jquery.js"></script>
HTML
<p align="center"><a id="show-msg" href="#">Show Message</a> | <a href="#" id="show-img">Show Image</a></p> <!-- Message Box --> <div id="msg-box"> <h2>Some Title Here</h2> <p>Type anything you want... be creative!</p> <p align="center"> <a id="close" href="#">Close</a> </p> </div> <!-- Message Box --> <!-- Image Box --> <div id="img-box"> <img src="jquery.jpg" width="420" height="247" alt="JQuery"> <p align="center"> <a id="close" href="#">Close</a> </p> </div> <!-- Image Box --> <!-- Background Div --> <div id="main-box"></div> <!-- Background Div -->
CSS
/* Lightbox background */ #main-box { display: none; background: #161613; opacity: 0.7; filter: alpha(opacity=70); position: absolute; top: 0px; left: 0px; min-width: 100%; min-height: 100%; z-index: 1000; } /* Message Box */ #msg-box { display: none; position: fixed; top: 100px; left: 50%; margin-left: -200px; width: 400px; background: #FFFFFF; color: #115577; padding: 10px 15px 10px 15px; border: 2px solid #EE6633; z-index: 1001; } /* Message Box */ /* Image Box */ #img-box { display: none; position: fixed; top: 100px; left: 50%; margin-left: -210px; width: 420px; background: #FFFFFF; color: #115577; padding: 10px 15px 10px 15px; border: 2px solid #EE6633; z-index: 1001; } /* Image Box */
JQuery
$(document).ready(function(){ $("a#show-msg").click(function(){ $("#main-box, #msg-box").fadeIn(150); }) $("a#show-img").click(function(){ $("#main-box, #img-box").fadeIn(150); }) $("a#close").click(function(){ $("#main-box, #msg-box, #img-box").fadeOut(400); }) })
Pretty simple and you can always customize it to meet your needs.