您好: 我打算使用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时没有任何反应...再次,我知道它必须简单,但我很快就会用完头发!!!
提前致谢! 布赖恩
答案 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"