2013-05-20 50 views
2

所以我做了一個彈出窗口來顯示我網站上的一些信息,但是我用固定的尺寸製作了它,以使它適合某種特定的方式。這意味着有一個滾動條,你需要在彈出窗口上滾動,這很好,我的問題是,當你點擊彈出窗口的底部時,它開始在實際頁面上滾動。在給定屬性發生變化時禁用滾動

我想要的是禁用它。很明顯,它必須與一些Jquery,但我不知道如何去在某些情況下禁用整個頁面的滾動。

這裏是我的Jquery的彈出:

$(document).ready(function(){ 
    $('button').click(function(){ 
     $('#example').animate({ 
      display:'visible', 
      opacity:'toggle' 
     }); 
    }, 
    function(){ 
     $('#example').animate({ 
      display:'none', 
      opacity:'toggle' 
     }); 
    }); 
}); 

toggle功能不能正常工作,所以我只是用click一倍,並能正常工作。這裏是一切jsfiddle:http://jsfiddle.net/gYGgr/1/

那麼我需要添加到我的jquery,將禁用滾動的身體,而不是彈出如果彈出窗口打開?謝謝!

+0

爲什麼你使用固定的尺寸? –

+0

,因爲這就是我想要爲網站設計風格的方式。目的是一種更新列表,但它可能會繼續,彈出窗口看起來並不長,除非它們被設置在固定容器 –

回答

0

最簡單的方法是將overflow: hidden添加到CSS中的<body>標籤 - 但我會謹慎的,因爲任何多餘的東西都會被隱藏起來。您始終可以應用該對話框時。

+0

中,如果觀看者處於頁面中間,它看起來可能會很糟糕他們彈出了嗎? –

-1

看來,滾動到你的彈出身體結束後,正在冒泡的事件多達頁面身體。如果是的話,這應該對你有幫助:

$("popup-body").scroll(function(){ 
return false; 
}); 

PS:你可能需要添加彈出式結束狀態條件。

+0

沒有做任何事情:/ –

-1

我認爲最簡單的選擇將包裝在另一個div中的位置:fixed。請看看在我的jsfiddle工作了你:

Js Fiddle

希望有所幫助。

+0

-1,如果你閱讀了這個問題和標題,你會發現如果彈出窗口是打開的,我只想要不滾動身體。這不回答問題 –

+0

不要讓我覺得我浪費了我的時間做這件事。我的例子清楚地表明瞭你的要求。有時候,當你的問題沒有說清楚,並且你很少理解其他人的答案時,它幾乎是一個猜測。如果你不喜歡div包裝盒,你可以像我在另一個http://jsfiddle.net/sanman/j8uBH/例子中所做的那樣修復身體位置。 – sanman

+0

同樣,如果彈出窗口打開,它只應該不滾動。如果彈出不打開,那麼它應該能夠滾動......我在我的問題和jsfiddle中清楚地提到了這一點。不要試圖攻擊你,如果你可以用一些jquery編輯它,所以它不會滾動給出正確的條件我會很樂意將你的解決方案標記爲正確的,但現在這不能回答我的問題 –

相關問題