2011-11-29 55 views
0

我已经得到了下面的代码,我已经放在一起,我需要将它从onclick事件更改为onload,所以它会自动加载模态窗口,当页面是加载。然而,对于我的生活,我无法弄清楚它是如何做到的,我尝试了许多排列,但它似乎并不奏效。jQuery改变点击甚至上载事件

$(document).ready(function() { 
    $('a.poplight[href^=#]').click(function() { 
     var popID = $(this).attr('rel'); 
     var popURL = $(this).attr('href'); 
     var query = popURL.split('?'); 
     var dim = query[1].split('&'); 
     var popWidth = dim[0].split('=')[1]; 

     $('#' + popID) 
      .fadeIn() 
      .css({ 'width': Number(popWidth) }) 
      .prepend('<a href="#" class="close"><img src="close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>'); 

     var popMargTop = ($('#' + popID).height() + 80)/2; 
     var popMargLeft = ($('#' + popID).width() + 80)/2; 

     $('#' + popID).css({ 
      'margin-top' : -popMargTop, 
      'margin-left' : -popMargLeft 
     }); 

     $('body').append('<div id="fade"></div>'); 
     $('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); 

     return false; 
    }); 

    $('a.close, #fade').live('click', function() { 
     $('#fade , .popup_block').fadeOut(function() { 
      $('#fade, a.close').remove(); 
     }); 
     return false; 
    }); 
}); 

这会将它的那一刻:

<a href="#?w=200" rel="popup_name" class="poplight">Popup</a> 

任何帮助将非常感激,感谢

+0

你使用哪个弹出式插件?如果你通过它的文档检查,可能会有一个'trigger'函数或其他类似的东西,它允许你通过代码以编程方式显示一个模式窗口,而不需要用户的交互。 –

+0

Theres no plugin,它全部在上面的代码中:-) – TMB87

+0

我刚刚搜索了插件名称并找到了它。在文档中有关于设置加载弹出窗口的指南:http://www.sohtanaka.com/web-design/inline-modal-window-w-css-and-jquery/#comment-8729 –

回答

2

如果你查查documentation for the plugin可以移动逻辑弹出到它自己的功能(在本例中称为),并调用负载是这样的:

$('a.poplight[href=#?w=200]').popOpen(); 
+0

感谢这matey,我没有从那里得到它,所以甚至没有想到谷歌!拯救生命 – TMB87

0

尝试:

$('a.poplight[href^=#]').trigger("click"); 

或者:

$('a.poplight[href^=#]').click(); 

这些应该在您的DOM Ready中。

0

如果我理解正确的话,你可以试试这个:

$(document).ready(function() { 

    $this = $('a.poplight[href^=#]'); 
    var popID = $this.attr('rel'); 
....