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

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.