js 实现遮罩某一部分

借用一下喜马拉雅的效果图,比较一下下面的遮罩层的高度:

     

我们可以看到它的遮罩层一直都是只遮住的下面。开始想着怎么用CSS实现,几经测试也没弄出来,如果正在看这篇文章的你,知道如何用CSS达到这种效果,欢迎留言。

我来说一下我用js的解决方法。

原理很简单,遮罩层高度 = 选集弹层的下边距离 到 窗口底边的距离。

 

先看下结构:

 

实现效果核心代码:

$(".js_show_chapter").click(function () {
    var maskHeight;
    var obj = $('.js_chapter_wrap');
    var wh = $(window).height();//窗口高度
    var objOffsetTop = obj.offset().top; //选集弹层到顶部的距离
    var docScrollTop = $(document).scrollTop();//滚动条到顶部的距离
    maskHeight = wh - (objOffsetTop - docScrollTop);//计算遮罩层高度
    $(".mask").height(maskHeight + 'px');
})

 

最后显示效果如下图:

 

需要完整案例的可在下方留言~感谢阅读~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值