1

I am creating a website in asp.Net. I want to use a pop up window to perform actions. i have a pop up window which runs on a hyperlink.

I want to perform this action to be done on button click. Is there any way to perform this action programatically. How to perform this action.

My code is as follows:-

Html code:-

    <a href="#" data-reveal-id="myModal">
    Fade and Pop
    </a>
        <div id="myModal" class="reveal-modal">
        <h1>Reveal Modal Goodness</h1>
        <p>This is a default modal in all its glory, but any of the styles                  here can easily be changed in the CSS.</p>
        <a class="close-reveal-modal">&#215;</a>
    </div>

Javascript Function:-

$('a[data-reveal-id]').live('click', function(e) {
    e.preventDefault();
    var modalLocation = $(this).attr('data-reveal-id');
    $('#'+modalLocation).reveal($(this).data());
  });

$.fn.reveal = function(options) {

    var defaults = {  
        animation: 'fadeAndPop', //fade, fadeAndPop, none
        animationspeed: 300, //how fast animtions are
        closeonbackgroundclick: false, //if you click background will modal close?
        dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal
    }; 

    //Extend dem' options
    var options = $.extend({}, defaults, options); 

    return this.each(function() {

        var modal = $(this),
            topMeasure  = parseInt(modal.css('top')),
            topOffset = modal.height() + topMeasure,
            locked = false,
            modalBG = $('.reveal-modal-bg');

        if(modalBG.length == 0) {
            modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal);
        }           

        //Entrance Animations
        modal.bind('reveal:open', function () {
          modalBG.unbind('click.modalEvent');
            $('.' + options.dismissmodalclass).unbind('click.modalEvent');
            if(!locked) {
                lockModal();
                if(options.animation == "fadeAndPop") {
                    modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'});
                    modalBG.fadeIn(options.animationspeed/2);
                    modal.delay(options.animationspeed/2).animate({
                        "top": $(document).scrollTop()+topMeasure + 'px',
                        "opacity" : 1
                    }, options.animationspeed,unlockModal());                   
                }
                if(options.animation == "fade") {
                    modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure});
                    modalBG.fadeIn(options.animationspeed/2);
                    modal.delay(options.animationspeed/2).animate({
                        "opacity" : 1
                    }, options.animationspeed,unlockModal());                   
                } 
                if(options.animation == "none") {
                    modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure});
                    modalBG.css({"display":"block"});   
                    unlockModal()               
                }
            }
            modal.unbind('reveal:open');
        });     

        //Closing Animation
        modal.bind('reveal:close', function () {
          if(!locked) {
                lockModal();
                if(options.animation == "fadeAndPop") {
                    modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                    modal.animate({
                        "top":  $(document).scrollTop()-topOffset + 'px',
                        "opacity" : 0
                    }, options.animationspeed/2, function() {
                        modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'});
                        unlockModal();
                    });                 
                }   
                if(options.animation == "fade") {
                    modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                    modal.animate({
                        "opacity" : 0
                    }, options.animationspeed, function() {
                        modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure});
                        unlockModal();
                    });                 
                }   
                if(options.animation == "none") {
                    modal.css({'visibility' : 'hidden', 'top' : topMeasure});
                    modalBG.css({'display' : 'none'});  
                }       
            }
            modal.unbind('reveal:close');
        });     

        //Open Modal Immediately
    modal.trigger('reveal:open')

        //Close Modal Listeners
        var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () {
          modal.trigger('reveal:close')
        });

        if(options.closeonbackgroundclick) {
            modalBG.css({"cursor":"pointer"})
            modalBG.bind('click.modalEvent', function () {
              modal.trigger('reveal:close')
            });
        }
        $('body').keyup(function(e) {
            if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key
        });


        function unlockModal() { 
            locked = false;
        }
        function lockModal() {
            locked = true;
        }   

    });
}
2
  • please try to remove console error first. Commented Feb 28, 2014 at 6:10
  • it is running perfect on my side. i just want that data-raveal-id is called on button click Commented Feb 28, 2014 at 6:13

1 Answer 1

1

In jQuery, you can open a popup by something like this, here you can pass your html in .html:

    var customDialog = function (options) {
        $('<div></div>').appendTo('body')
                        .html('<input type="checkbox" id="myCheckBox" />Test Checkbox<div style="margin-top: 15px; font-weight: bold;">' + options.message + '</div>')
                        .dialog({
                            modal: true,
                            title: options.title || 'Custom Popup Box', zIndex: 10000, autoOpen: true,
                            width: 'auto', resizable: false,
                            buttons: {
                                Ok: function () {
                                    $(this).dialog("close");
                                },
                            },
                            close: function (event, ui) {
                                $(this).remove();
                            }
                        });
};

$('#myButton').click(function() { customDialog({message: 'your input message '}); });

Now you can call this method, on button click etc

customDialog({message: 'Test Message'});

Check this JS Fiddle [EDIT] To call a jquery function from anchor tag check this fiddle

Sign up to request clarification or add additional context in comments.

1 Comment

but in my code what should i do open pop up by button click. now it is opening by using <a> tag in html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.