Нажмите одну кнопку, чтобы закрыть модальное, и откройте другую. (SimpleModal) - PullRequest
0 голосов
/ 03 апреля 2012

Итак, у меня есть заголовок с несколькими кнопками, и функциональность, которую я хочу иметь, такова:

Нажмите одну кнопку, и в раскрывающемся списке отобразится

Нажмите другую кнопку, и этот модальный режим исчезнет, ​​а другой сразу откроется.

Есть ли способ достичь этого? В настоящее время у меня есть "$ .modal.close ();" перед открытием контента, поэтому он все еще открывается, но автоматически запускает событие onClose, не позволяя ему открыть другой модал.

var content;
jQuery(function ($) {
    var OSX = {
        container: null,
        init: function () {
            $(".buttonOne,").click(function (e) {
                e.preventDefault(); 

                $.modal.close();


                content = "#osx-modal-content-ONE";

                $(content).modal({
                    overlayId: 'osx-overlay',
                    containerId: 'osx-container',
                    closeHTML: null,
                    minHeight: 80,
                    maxHeight:599,
                    opacity: 65, 
                    position: ['60px',],
                    overlayClose: true,
                    onOpen: OSX.open,
                    onClose: OSX.close

                });

            });

            $(".buttonTWO,").click(function (e) {
                e.preventDefault();

                $.modal.close();

                content = "#osx-modal-content-TWO"; 

                $(content).modal({
                    overlayId: 'osx-overlay',
                    containerId: 'osx-container',
                    closeHTML: null,
                    minHeight: 80,
                    maxHeight:599,
                    opacity: 65, 
                    position: ['60px',],
                    overlayClose: true,
                    onOpen: OSX.open,
                    onClose: OSX.close

                });

            });


        },
        open: function (d) {

            var self = this;
            self.container = d.container[0];
            $("#osx-overlay").css("top","60px");

            d.overlay.fadeIn('fast', function () {


                d.container.slideDown('fast', function () {
                    setTimeout(function () {

               $(content, self.container).show();


                var title = $("#osx-modal-title", self.container);
                title.show();

                        var h = $("#osx-modal-data", self.container).height()
                            + title.height()
                            + 20; // padding
                        d.container.animate(
                            {height: h}, 
                            0,
                            function () {
                                $("div.close", self.container).show();
                                $("#osx-modal-data", self.container).show();

                            }
                        );
                    }, 0);
                });
            })
        },
        close: function (d) {

            var self = this; // this = SimpleModal object
            d.container.animate(
                {top:"-" + (d.container.height() + 20)},
                200,
                function () {
                    self.close(); // or $.modal.close();


                }
            );



        }
    };

    OSX.init();

});
...