携帯端末のディスプレイポップした後、ポップは、圧延に続いてボディコンテンツを禁止します

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/u012193330/article/details/80752521

ポップ通常のサイズの場合は、以下のスキームを使用することができます。

1.デフォルトのイベントを防ぎます

短所:プログラムの特定の互換性があり、すべてのブラウザでは有効ではありません。ローリングポップの存在については、適用されません
長所:ときにポップ表示、ページがトップに戻るないロール、位置に固定されたまま

//阻止弹窗滚动
function stopScroll() {
    // 弹出时
    $('body').on('touchmove', preventDefaultFn);
    $('body').css({
        'overflow': 'hidden'
    })
}

function recoverScroll() {
    // 隐藏时
    $('body').off('touchmove', preventDefaultFn);
    $('body').css({
        'overflow': 'auto'
    })
}

function preventDefaultFn(event) {
    event.preventDefault();
}

2.固定位置

短所:ボックスを再生するとポップアップし、非表示、ページの最上部とページスクロールが発生するので、その状況はページ点滅します
利点を:あなたは状況が本来のローリングをポップアップ解決することができます

function stopScrollLong() {
    var top = -$(window).scrollTop();
    $('body').css({
        'position': 'fixed'
    })
    setTimeout(function () {
        $('body').css({
            'top': top + 'px'
        })
    }, 10)
}

function recoverScrollLong() {
    var top = parseInt(-$('body').css('top').replace('px', ''));
    $('body').css({
        position: 'static'
    })
    $(window).scrollTop(top);
}

H5エンドのモバイルページでは、あなたは、アプリケーションのこれらの2つの方法を組み合わせたポップなケースの下のほとんど解決するためにスクロールすることができ
リファレンス:https://dancon.gitbooks.io/git-books/content/js/essay/dialog_forbid_back_scroll.html

おすすめ

転載: blog.csdn.net/u012193330/article/details/80752521