Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Подправить скрипт SimpleModal OSX Dialog (https://javascript.ru/forum/jquery/57386-podpravit-skript-simplemodal-osx-dialog.html)

Sash-ssh 01.08.2015 21:08

Подправить скрипт SimpleModal OSX Dialog
 
Решил вынести ссылки данного диалога в отдельный html файл - page.html

В JS изменил это:
$("#osx-modal-content").modal
на это:
$("#osx-modal-content").load("page.html").modal

Как бы всё работает, но ссылка - <a href="#" class="simplemodal-close">x</a> перестала закрывать диалог.
self.close(); перестал работать после замены на:
$("#osx-modal-content").load("page.html").modal

<div id="osx-modal-content">
            <div id="osx-modal-title">Выберите город</div>
            <div class="close"><a href="#" class="simplemodal-close">x</a></div>
            <div id="osx-modal-data">
 
                <p><a href="http://site.com?gorod=1">Город 1</a></p>
                <p><a href="http://site.com?gorod=2">Город 2</a></p>
                <p><a href="http://site.com?gorod=3">Город 3</a></p>
                <p><a href="http://site.com?gorod=4">Город 4</a></p>
                <p><a href="http://site.com?gorod=5">Город 5</a></p>
                
            </div>
        </div>


jQuery(function ($) {
    var OSX = {
        container: null,
        init: function () {
            $("input.osx, a.osx").click(function (e) {
                e.preventDefault(); 
 
                $("#osx-modal-content").load("page.html").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();
                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;
                        d.container.animate(
                            {height: h}, 
                            10,
                            function () {
                                $("div.close", self.container).show();
                                $("#osx-modal-data", self.container).show();
                            }
                        );
                    }, 10);
                });
            })
        },
        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();
});


Собственно как возобновить закрытие диалога?


Часовой пояс GMT +3, время: 10:40.