微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery simplemodal禁用滚动

我在页面上滚动内容超过2000像素.

如果用户点击一个div,一个滚动的内容会弹出一个简单的模式窗口.现在,我的客户端希望在模态窗口启动时使原始页面不可滚动. (当然模态应该是可滚动的.)

甚至有可能吗

编辑:我已经尝试过你的建议.基本上它是有效的,但问题有点复杂:

$(".foReadMoreLink a").click(function(){
    if ($('#modalBox').length == 0)
    $('body').append('<div style="display:none" id="modalBox"></div>')
    $('body').css({'overflow':'hidden'});
    $.post('jquery/loadarticle.PHP',{id:$(this).attr('id')},function(data){
        $('#modalBox').html(data).modal({overlayClose:'true'});
    })
    return false;
});

我使用返回false的链接,所以机器人和用户没有JavaScript(是的,这是2%)可以打开文章.使用上面的代码可以按预期方式工作,但是在关闭模态之后,我必须回滚滚动条,但这段代码将无法正常工作:

$(".foReadMoreLink a").click(function(){
    if ($('#modalBox').length == 0)
    $('body').append('<div style="display:none" id="modalBox"></div>')
    $('body').css({'overflow':'hidden'});
    $.post('jquery/loadarticle.PHP',function(data){
        $('#modalBox').html(data).modal({onClose:function(){$('body').css({'overflow':'auto'})},overlayClose:'true'});
    })
    return false;
});

解决方法

在你的脚本中打开你的模态:
$("html,body").css("overflow","hidden");

接近:

$("html,"auto");

(HTML和正文是必需的,因为滚动条附加到浏览器的不同部分,具体取决于您使用的方式)

原文地址:https://www.jb51.cc/jquery/179698.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐