SimpleModal不会关闭我

时间:2011-04-07 19:13:26

标签: jquery html css simplemodal

您好:     我打算使用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 no-conflict- $ 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时没有任何反应...再次,我知道它必须简单,但我很快就会用完头发!!!

提前致谢! 布赖恩

2 个答案:

答案 0 :(得分:0)

尝试将点击处理程序中的 this 对象更改为jQuery对象:

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

答案 1 :(得分:0)

变化:

$j(toshow).close();

要:

$j.modal.close();

此外,如果您手动添加关闭HTML,则可以添加simplemodal-close类以使SimpleModal绑定到它。

变化:

class="modalCloseImg"

要:

class="modalCloseImg simplemodal-close"