2017-09-17 104 views
0

我想問一下關於防止滾動元素。 我有一個元素,當窗口滾動和所有網站都有自動滾動,因爲這是默認的。窗口滾動時,所有元素都可以滾動,對嗎? 現在,我想阻止在滾動窗口時自動滾動元素,但我不想將該元素位置設置爲固定。 我該怎麼做?任何想法 ?jQuery - 防止滾動元素當窗口滾動沒有固定位置

例如:

$(window).scroll(function(){ 
     if($(this).scrollTop() == 100){ 
     $(element) // How to prevent scroll this element without position fixed ? 
     } 
    }); 
+0

你能分享你的html並顯示元素是什麼。 – lpradhap

回答

0

有一個稱爲位置的新位置CSS3屬性:粘 - 施加時(添加偏移量爲一個數據屬性),其。從開發

鏈接筆記從CSS技巧 https://css-tricks.com/position-sticky-2/

https://developer.mozilla.org/en-US/docs/Web/CSS/position

鏈接所以基本上,當你滾過偏移 - 元素是「粘性」。這實現了與應用位置相同的效果:固定樣式規則,但不重寫DOM。

它遭受與位置相同的問題:固定,但是因爲當元素被「卡住」時需要將填充應用到主體,因爲它將其從頁面流中移出並且所有元素在頁面中位置更高因爲元素不再以高度計算。

但結果是,你可以在沒有javascript/jquery的情況下應用粘性類,而不需要在頁面上滾動lisener的代價。

+0

我的意思是防止沒有固定位置或其他位置的滾動元素沒有設置頂部,左側,右側或底部。粘滯的位置必須像固定一樣將元素設置在頂部。因爲我的元素處於中心位置,並且只是希望防止在滾動窗口時自動滾動此元素。任何其他想法? – user8455694

+0

您需要使用position屬性來將元素從其父項中分離出來,如果您沒有使用position屬性,那麼如果父項開始滾動,則子項也會執行。 – lpradhap