2013-12-22 29 views
0

我有一種模式,鏈接到另一種模式。我很容易用jQuery切換到另一個,但問題是切換後頁面主體有一個滾動條,即使加載的模式非常小;這就好像焦點在模式切換後的頁面body中。專注於引導模式後切換它與jQuery

這是切換模態的代碼:

$('a#login_resend_activation').click(function(){ 
    $('#login').modal('hide'); 
    $('#resend').modal('show'); 
    return false; 
}); 

注意a#login_resend_activation是第一模態(這是被關閉的)的一部分。

可能發生的情況是滾動條實際上​​能夠滾動頁面主體(模式的背面),而模式可見?我如何將重點轉移到現在的模式?

+0

你意識到這不是一個真正的新窗口,而只是看起來像一個模態,因此附着在窗口滾動條的頁面上的元素仍然是滾動? – adeneo

+0

是的。但我不得不以某種方式參考它。無論如何,當第一個模式被打開時,身體不會提供滾動條,就像模態正在成爲身體,它的尺寸構成了整個事物... – Aborted

回答

1

設置你的body的立場,以fixed和溢出隱藏:

... 
$('#resend').modal('show'); 
$('body').css({position: 'fixed', overflow: 'hidden'}); 

Here's a demo爲你我做了一段時間後別人。

它有點醜陋,但問題得到跨越笑

+0

這是相當多的破解,但不幸的是設置我的身體位置固定將使其移動到左上角(原本居中)。我不得不隨着這個黑客行動,使其完全工作,這將需要更多的代碼寫作。我正在尋找一些能夠做到這一點的清潔劑。感謝您的輸入。 – Aborted

+0

使用我的代碼,它會在修復時保持位置並在離開模態時按原樣返回。轉到小提琴並注意你在頁面上的位置,然後當你點擊彈出窗口時,注意背景文字沒有移動。 – Deryck

+0

這實際上是我做這件事的最大障礙 – Deryck