SimpleModal не закрывается для меня - PullRequest
0 голосов
/ 07 апреля 2011

Здравствуйте: у меня есть несколько диалогов, которые я собираюсь открыть, используя атрибут rel.Я скучаю по чему-то очень простому, я знаю, но я просто не могу заставить его закрыться ... (Эта система позволяет мне только 2 тега "a", поэтому я связался с "alink" ... это действительнохотя)

Вот HTML:

<div class="tool" id="first">
   <alink class="modalCloseImg" href="#"></alink>  
   First Content
</div>
<div class="tool" id="second">
   <link class="modalCloseImg" href="#"></link>  
   Second Content
</div>

Вот ссылки:

<div id="toolbox">
<ul>
    <li><a href="#" rel="#first">First</a></li>
    <li><a href="#" rel="#second">Second</a></li>
</ul>
</div><!-- toolbox -->

Вот CSS:

.tool {
/* initially overlay is hidden */
display:none;
/* some padding to layout nested elements nicely  */
padding: 10px 10px 65px 10px;
/* a little styling */
font-size:11px;
overflow: auto;
background-color: #fff;
border: 10px double black;
height: 75%;
min-width: 75%;
width: auto;
position: relative;
}

.tool a.modalCloseImg {
background:url(images/x.png) no-repeat; 
width:25px;
height:29px;
display:inline;
z-index:3200;
position:absolute;
top:0px;
right:0px;
cursor:pointer;
border: 0;
text-decoration: none;
}

Вот JQUERY (я нахожусь в Wordpress без конфликтов- $ j)

$j("#toolbox a[rel]").click(function(){
var toshow = this.rel;
$j(toshow).modal({
    autoResize: false,
    overlayClose:true,
    containerCss: {
        "background-color": "#aaa"
    },
    overlayCss: {
        "background-color": "#fff"
    },
    onOpen: function (dialog) {
        dialog.overlay.fadeIn('slow', function () {
            dialog.data.hide();
            dialog.container.fadeIn('slow', function () {
                dialog.data.slideDown('slow');
            });
        });
   },
   onClose: function (dialog) {
        dialog.data.fadeOut('normal', function () {
            dialog.container.slideUp('fast', function () {
                dialog.overlay.fadeOut('fast', function () {
                    //Close the dialog.
                    $j(toshow).close();
                });
            });
        });
    }


}); // jQuery object; this demo

Проблема закрывает «инструмент» Ничего не происходит, когда я нажимаю на X ... Опять же, я знаю этодолжно быть просто, но у меня быстро кончаются волосы !!!

Заранее спасибо!Brian

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

Изменение:

$j(toshow).close();

Кому:

$j.modal.close();

Кроме того, если вы вручную добавляете закрытый HTML, вы можете добавить класс simplemodal-close, чтобы SimpleModal связывался с ним.

Изменение:

class="modalCloseImg"

Кому:

class="modalCloseImg simplemodal-close"
0 голосов
/ 07 апреля 2011

Попробуйте изменить объект this в обработчике кликов на объект jQuery:

var toshow = $(this).attr("rel");
...