2017-08-10 99 views
0

我想創建一個體面的滾動體驗的移動菜單,我的想法是.fade在菜單中,並用.fadeOut淡出主站點包裝,所以你得到一個更好的移動設備彈性滾動,沒有glitchy位置:即使在iOS 10和Android上仍然存在的固定/正文滾動業務。存儲body fadeOut之前的滾動位置,然後在body fadeIn之後返回滾動位置?

很明顯,當包裝顯示時:沒有任何物體變成視口的高度,它將頁面跳轉到頂部,一旦包裝已經消失就可以返回舊的滾動位置了嗎?

小提琴這裏:https://jsfiddle.net/y1goy3b2/

任何幫助或問題將是巨大的!

乾杯

<div class="menu" id="open-menu"> 
    <div class="menu-bttn"> 

    </div> 
</div> 
<div class="mob-menu"> 

</div> 
<div class="site-wrapper"> 
<p> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Prodest, inquit, mihi 
eo esse animo. Non dolere, inquam, istud quam vim habeat postea videro; Et 
ille ridens: Video, inquit, quid agas; Hinc ceteri particulas arripere conati 
suam quisque videro voluit afferre sententiam. Inde sermone vario sex illa 
</p> 
</div> 
<script> 
$('#open-menu').click(function() { 
    $('.site-wrapper').fadeToggle('fast'); 
    $('.mob-menu').fadeToggle('fast'); 
}); 
</script> 
+1

查看我的回答 –

+0

@jigneshpatel非常感謝!它完美的作品:) –

回答

1

我已經更新您的提琴。請檢查this

var oldScrollposition = 0; 
$('#open-menu').click(function() { 

    if($('.site-wrapper').is(":visible")){ 
    oldScrollposition = $(document).scrollTop(); 
    } 

    $('.site-wrapper').fadeToggle('fast'); 
    $('.mob-menu').fadeToggle('fast'); 

    $(document).scrollTop(oldScrollposition); 
});