vue下网站变灰

非IE浏览器处理

非IE浏览器下只需要添加滤镜,对整个页面过滤就可以了,样式代码如下:

//悼念色
.body {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  //-ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
  -webkit-filter: grayscale(1);
}

IE浏览器处理

因为ie部分浏览器不支持滤镜功能,所以使用js遍历所有组件进行样式渲染。操作如下:

  • 引入grayscale.js

    grayscale.js放入项目中,然后引入:

    const grayscale = require('../../assets/theme/grayscale')
    
  • grayscale.js添加导出变量

    vue中使用的是ES6的写法,所以在grayscale.js
    中要添加组件导出(复制到最下面即可),代码如下:

    var grayscale = (function(){
        ......
    })();
    //上面为原声引入的js,此处添加导出
    module.exports = grayscale
    
  • 调用js
    在适当位置调用js方法,加载样式:

    grayscale(document.body)
    

    如果需要重置样式,可以调用重置的方法:

    grayscale.reset(document.body);
    

注意⚠️:

调用js时候一定要注意加载顺序问题,
先加载页面,然后才能调用js方法。可以通过同步方法调用或者定时器延迟加载来处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值