您好我有一个代码可以在覆盖
上打开外部链接 $('body').append('<div class="overlay-2"><div class="contentWrap"></div> </div>');
$("a.overlay-2[rel]").live('click', function () {
$("a.overlay-2[rel]").overlay({
mask: '#333',
onBeforeLoad: function() {
var wrap = this.getOverlay().find(".contentWrap");
wrap.load(this.getTrigger().attr("href"));
}
}).load();
$(this).overlay().load();
return false;
});
这会附加div overlay-contato
首次点击链接打开一切正常,但每次关闭叠加层并再次点击时,代码会多次将div附加到正文。
按钮代码是
<a href="/php/my-page.php" class="overlay-2" rel=".overlay-contato">click </a>
答案 0 :(得分:1)
请先检查一下您可能要追加的div是否存在。
// note i added an id to the overlay to simplify and improve selector performance
var overlay = $('#overlay');
if(overlay.length < 1) {
overlay = $('<div id="overlay" class="overlay-2"><div class="contentWrap"></div></div>').appendTo('body');
}
// now you can also use overlay as a variable instead of querying it from the DOM
答案 1 :(得分:1)
您应该在点击处理程序之外初始化叠加层。每次单击时,您只想显示叠加层的新实例