JQuery Simple Modal OSX多个对话框

时间:2010-04-06 14:32:04

标签: jquery simplemodal

HI,

我打算在我的项目网站上使用jquery Simple模式进行登录和注册。我试图提到2个模态here。但我仍然无法使它工作。这是我的代码

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

            $(this.id + "_osx-modal-content").modal({
                overlayId: this.id+'_osx-overlay',
                containerId: this.id+'_osx-container',
                closeHTML: null,
                minHeight: 80,
                opacity: 65, 
                position: ['0',],
                overlayClose: true,
                onOpen: OSX.open,
                onClose: OSX.close
            });
        });
    },
    open: function (d) {
        var self = this;
        self.container = d.container[0];
        d.overlay.fadeIn('slow', function () {
            $("#osx-modal-content", self.container).show();
            var title = $("#osx-modal-title", self.container);
            title.show();
            d.container.slideDown('slow', function () {
                setTimeout(function () {
                    var h = $("#osx-modal-data", self.container).height()
                        + title.height()
                        + 20; // padding
                    d.container.animate(
                        {height: h}, 
                        200,
                        function () {
                            $("div.close", self.container).show();
                            $("#osx-modal-data", self.container).show();
                        }
                    );
                }, 300);
            });
        })
    },
    close: function (d) {
        var self = this; // this = SimpleModal object
        d.container.animate(
            {top:"-" + (d.container.height() + 20)},
            500,
            function () {
                self.close(); // or $.modal.close();
            }
        );
    }
};

OSX.init();

我想它与open:function部分有关,任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

有什么问题?如果您在ASP.NET站点上使用它,请确保使用appendTo:'form'选项。

答案 1 :(得分:0)

这是我通过创建模拟窗口的解决方案,2对象1是osx,其他是rosx就是这样!!!!

你可以发邮件给我@ miliwebdeveloper27@gmail.com以获得进一步的帮助:)很高兴总能帮忙......

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

            $("#osx-modal-content").modal({
                overlayId: 'osx-overlay',
                containerId: 'osx-container',
                closeHTML: null,
                minHeight: 80,
                opacity: 65, 
                position: ['0',],
                overlayClose: true,
                onOpen: OSX.open,
                onClose: OSX.close
            });             
        });
            $("input.rosx, a.rosx").click(function (e) {
            e.preventDefault(); 

            $("#osx-modal2-content").modal({
                overlayId: 'osx-overlay',
                containerId: 'osx-container',
                closeHTML: null,
                minHeight: 80,
                opacity: 65, 
                position: ['0',],
                overlayClose: true,
                onOpen: OSX.open,
                onClose: OSX.close
            });

        });
    },
    open: function (d) {
        var self = this;
        self.container = d.container[0];
        d.overlay.fadeIn('slow', function () {
            $("#osx-modal-content", self.container).show();
            $("#osx-modal2-content", self.container).show();
            var title = $("#osx-modal-title", self.container);
            title.show();
            d.container.slideDown('slow', function () {
                setTimeout(function () {
                    var h = $("#osx-modal-data", self.container).height()
                        + title.height()
                        + 20; // padding
                    d.container.animate(
                        {height: h}, 
                        200,
                        function () {
                            $("div.close", self.container).show();
                            $("#osx-modal-data", self.container).show();
                        }
                    );
                }, 300);
            });
        })
    },
    close: function (d) {
        var self = this; // this = SimpleModal object
        d.container.animate(
            {top:"-" + (d.container.height() + 20)},
            500,
            function () {
                self.close(); // or $.modal.close();
            }
        );
    }
};
OSX.init();
});

答案 2 :(得分:0)

重复

  

osx.js into - > osx2.js

并重命名

  

input.osx2,a.osx - > input.osx2,a.osx2 osx-modal-content - >   osx-modal-content2 osx-modal-data - > OSX模态-DATA2

更简单一点,我猜?