2012-10-21 36 views
0

當打開燈箱我有一個html文件改變股利固定和回燈箱

<html> 
<body> 
<div #main> <a click to open lightbox> <img> <more images> </a> </div> 
</body> 
</html> 

,這將成爲

<html> 
    <body> 
    <div id="main"> <a click to open lightbox> <img> <more images> </a> </div> 
    <div id="pic_holder">...Popup div content </div> 
    <div id="overlay"></div> 
    </body> 
    </html> 

我想#main是noscroll。我讀了關於溢出:隱藏,和位置:靜態;等我的css .noscroll{}

問題是,如果我使用溢出:隱藏在#main for noscroll,正文仍然滾動。如果我在#main上使用position:static,彈出關閉後,#body將滾動到頂部。這個想法是爲了獲得最喜歡的行爲,我使用prettyphoto。

欣賞任何提示。與Preventing div scrolling back to top when changing position to fixed有點相關,但它並沒有提到正在添加的燈箱。那就是問題所在。

+0

jQuery代碼或現場示例會非常有幫助。 – Fresheyeball

+1

@Fresheyeball有點長的腳本。我怎樣才能分享它?它在我的本地機器上。 – aVC

+1

在Jsfiddle – bookcasey

回答

0

我需要的代碼更好的答案,這裏有些尖斷

  1. 您是否嘗試過設置你的身體上的「溢出:隱藏」?

  2. 滾動取決於你徘徊在哪個元素,你是否嘗試將#main大小設置爲窗口大小?

[更新]

我看過你的網站後,這裏的一些變化,我認爲你應該做的。

  1. 製作「pp_overlay」的「pp_pic_holder」子。
  2. 將您的「pp_pic_holder」放置在css中,而不是固定的,請使用「margin:0 auto;」
  3. 在jquery中,使用窗口的「調整大小」功能來設置「pp_overlay」的寬度/高度到窗口一。它應該看起來像這樣。

    function overlayResize(){ 
        var WW=$(window).width(); 
        var WH=$(window).height(); 
        $(".overlay").height(WH).width(WW); 
    } 
    
    
    $(window).resize(function(){ 
        overlayResize(); 
    }) 
    
    overlayResize(); 
    

下面一些的jsfiddle是做:

http://jsfiddle.net/kirkas/PSjTD/

[更新] 如果你想在覆蓋滾動,不要忘了補充:

overflow:auto; 

覆蓋。

http://jsfiddle.net/kirkas/PSjTD/

[更新]

這一個令停止隱藏功能,當你在選擇的圖片點擊。

http://jsfiddle.net/kirkas/PSjTD/

+0

是的,我試圖溢出:隱藏。如果我在#main上使用它,全身仍然滾動。如果我在身體上使用它,彈出式溢出也會隱藏起來。我沒有將#main size設置爲窗口大小,因爲它小於窗口大小。我發佈了網址。你需要我發送代碼嗎? – aVC

+0

謝謝。但問題是如果您將.selectedPic {}高度更改爲700px;那麼彈出窗口在視口下方延伸,但不能滾動。 – aVC

+0

設置「overflow:auto;」在覆蓋 – kirkas