我使用Featherlight作爲燈箱。我遇到的一個問題是,它打開了,背景仍然是可滾動的。大多數燈箱需要的修補程序是在其上添加一個類別爲overflow:hidden;
的類。防止後臺滾動打開燈箱
如何在燈箱上打開,然後關閉該類?
我使用Featherlight作爲燈箱。我遇到的一個問題是,它打開了,背景仍然是可滾動的。大多數燈箱需要的修補程序是在其上添加一個類別爲overflow:hidden;
的類。防止後臺滾動打開燈箱
如何在燈箱上打開,然後關閉該類?
可以使用的beforeOpen
和afterClose
選項,比如使用您的插件調用的選項:
$.featherlight({
beforeOpen: function() {
document.body.style.overflow = 'hidden';
},
afterEnd: function() {
document.body.style.overflow = '';
}
});
這也隱藏了滾動條並可能導致重繪 –
你可以試試下面的步驟:
1)添加新的CSS類爲:
.bodyNoOverflow{
overflow:hidden;
}
2)修改Featherlight Widget初始化配置並修改beforeOpen
和beforeClose
回調函數爲:
beforeOpen: function(event){
$("body").addClass("bodyNoOverflow");
//existing code if any
},
beforeClose: function(event){
$("body").removeClass("bodyNoOverflow");
//existing code if any
},
這也隱藏滾動條,並可能導致重繪 –
https://github.com/noelboss/featherlight/#configuration - 文檔的這一部分揭示了所有可以在其上綁定實現這一... –
HTTP回調:/ /stackoverflow.com/questions/4770025/how-to-disable-scrolling-temporarily你不想做溢出:隱藏,因爲這隱藏了滾動條,可以導致重繪(這是緩慢的) –