2011-08-04 63 views
2

现在我已经在单击链接时使用这个jQuery覆盖,但是当我调用某种类型的JS函数(如activateOverlay)时,我想将其更改为激活覆盖)。代码 例子,我有:从JS函数中选择覆盖jquery而不是选择器

$j(document).ready(function() { 
var $loading = $j('<img src="/images/loader.gif" alt="loading" title="loading">'); 
$j('.activateOverlayJquery a').each(function() { 
    var $dialog = $j('<div></div>') 
     .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"); 
    }); 
}); 
}); 

,这是方式,我主动覆盖:

<span class="activateOverlayJquery"><a href="/page?overlay=1">Click here</a></span> 

的一点是,我需要从几个地方,一个叫叠加激活当用户第六次看到页面,所以在这里没有链接被点击,那么我希望当像activateOverlay()这样的函数被称为覆盖层得到激活。

回答

4

尝试:

  $(document).ready(function() { 
       $('body').append("<span><input type='checkbox'></input></span>"); 
       $('body').append("<span><input type='submit'></input></span>"); 
       $('body').append("<div id='overlay'></div>").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("<div id='box'></div>");      
       $('#box') 
         .append("<p>AGUARDE</p>") 
         .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(); 
        }); 
      }); 

小提琴手版本是here