从JS函数激活覆盖jquery而不是选择器

现在,当点击一个链接时,我已经完成了jQuery叠加,但是当我调用某种JS函数(如activateOverlay())时,我想更改它以激活叠加层。 我有的代码示例:

$j(document).ready(function() { var $loading = $j('loading'); $j('.activateOverlayJquery a').each(function() { var $dialog = $j('
') .append($loading.clone()); var $link = $j(this).one('click', function() { $dialog .load($link.attr('href') + ' #overlayWrap') .dialog({ autoOpen: false, width: 625, modal: true }); $link.click(function() { $dialog.dialog('open'); return false; }); $j('.ui-resizable-handle').css({ display: "none" }); $j('.ui-dialog .ui-dialog-content').css({ padding: 0 }); $j('.ui-dialog .ui-dialog-titlebar').css({ display: "none" }); $j('.ui-widget-content').css({ backgroundColor: "transparent" }); return false; }); $j('.closeOverlayJquery').live("click", function() { $dialog.dialog("close"); }); }); });

这就是我激活叠加层的方式:

 Click here 

关键是我需要从几个地方调用叠加激活,其中一个是当用户第6次看到页面时没有点击这里的链接,那么当调用像activateOverlay()这样的函数时我会喜欢叠加层被激活。

试试吧:

  $(document).ready(function () { $('body').append(""); $('body').append(""); $('body').append("
").css('height','100%'); $('#overlay') .addClass('overlay') .css('position','fixed') .css('background-color','silver') .css('z-index','100') .css('top','0px') .css('bottom','0px') .css('left','0px') .css('right','0px') .hide(); $('#overlay').append("
"); $('#box') .append("

AGUARDE

") .addClass('box') .css('position','fixed') .css('line-height','750%') .css('text-align','center') .css('z-index','101') .css('top','40%') .css('bottom','40%') .css('left','40%') .css('right','40%') $('input[type=submit], span input[type=checkbox]'). click(function (event) { $('#overlay').show(); }); });

小提琴版本就在这里