页面里有多个遮罩时,如何处理遮罩重叠的现象? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coffeeBookCode
V2EX    前端开发

页面里有多个遮罩时,如何处理遮罩重叠的现象?

  •  
  •   coffeeBookCode 2020-03-16 17:57:07 +08:00 1380 次点击
    这是一个创建于 2113 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题现象:

    当页面里不同的组件同时加载不同的请求时,如果这些组件此时都有遮罩,那么就会出现遮罩重叠的现象,页面上有多个 loading 动画等,用户体验不太好。

    我感觉这个问题不简单,我能想到需要处理的点有:

    1. 判断遮罩是否重叠?

    2. 请求是异步的,遮罩如何还原到对应的组件?比如当页面全局和页面上某个组件同时生遮罩,那么此时应该是只保留全局遮罩;当全局遮罩对应的请求完成时,假如局部遮罩的请求尚未完成,那么此时局部遮罩应该还原。

    我想到的方案:

    用的是 axios,所以可以在 axios 拦截器里记录下 http 请求以及对应的 DOM 层级,这里获得 DOM 层级的作用是页面上的组件关联上,以及通过层级判断遮罩是否重叠。

    讨教一下大家的好想法。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2842 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:12 PVG 22:12 LAX 06:12 JFK 09:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86