2011-11-29 25 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'); 
....