Skip to main content

How to generate a simple popup using jQuery


I am designing a web page. In that, when we click the content of div named mail, how can I show a popup window containing a label email and text box?



I searched in Google for a simple popup in jQuery, but the code is weird.


Source: Tips4allCCNA FINAL EXAM

Comments

  1. Something this simple doesn't need a plugin. This might look like a lot of code but it's really pretty simple.

    First the CSS - tweak this however you like:

    a.selected {
    background-color:#1F75CC;
    color:white;
    z-index:100;
    }

    .messagepop {
    background-color:#FFFFFF;
    border:1px solid #999999;
    cursor:default;
    display:none;
    margin-top: 15px;
    position:absolute;
    text-align:left;
    width:394px;
    z-index:50;
    padding: 25px 25px 20px;
    }

    label {
    display: block;
    margin-bottom: 3px;
    padding-left: 15px;
    text-indent: -15px;
    }

    .messagepop p, .messagepop.div {
    border-bottom: 1px solid #EFEFEF;
    margin: 8px 0;
    padding-bottom: 8px;
    }


    And the JavaScript:

    $(function() {
    $("#contact").live('click', function(event) {
    $(this).addClass("selected").parent().append('<div class="messagepop pop"><form method="post" id="new_message" action="/messages"><p><label for="email">Your email or name</label><input type="text" size="30" name="email" id="email" /></p><p><label for="body">Message</label><textarea rows="6" name="body" id="body" cols="35"></textarea></p><p><input type="submit" value="Send Message" name="commit" id="message_submit"/> or <a class="close" href="/">Cancel</a></p></form></div>');
    $(".pop").slideFadeToggle(function() {
    $("#email").focus();
    });
    return false;
    });

    $(".close").live('click', function() {
    $(".pop").slideFadeToggle(function() {
    $("#contact").removeClass("selected");
    });
    return false;
    });
    });

    $.fn.slideFadeToggle = function(easing, callback) {
    return this.animate({ opacity: 'toggle', height: 'toggle' }, "fast", easing, callback);
    };


    The appending of the div is an ajax call in my app - you might want to change the append code.

    And finally the html:

    <a href="/contact" id="contact">Contact Us</a>


    Hopefully this code is less weird for you.

    ReplyDelete
  2. Check out jQuery UI Dialog. You would use it like this:

    The jQuery:

    $(document).ready(function() {
    $("#dialog").dialog();
    });


    The markup:

    <div id="dialog" title="Dialog Title">I'm in a dialog</div>


    Done!

    Bear in mind that's about the simplest use-case there is, I would suggest reading the documentation to get a better idea of just what can be done with it.

    ReplyDelete
  3. I use a jQuery plugin called ColorBox, it is


    Very easy to use
    lightweight
    customizable
    the nicest popup dialog I have seen for jQuery yet

    ReplyDelete
  4. Visit this url

    Jquery UI Dialog Demos

    ReplyDelete
  5. There is a good, simple example of exactly this, here: http://www.queness.com/post/77/simple-jquery-modal-window-tutorial

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?