<div> blur(0px): <img id="originImg" src="http://lailife.u.qiniudn.com/xiaolai.jpg" alt="原图"> </div> <div> blur(3px): <img id="filter-blur" src="http://lailife.u.qiniudn.com/xiaolai.jpg" alt="静态迷糊"> </div> <div> blur(20px): <img id="xiaolai" src="http://lailife.u.qiniudn.com/xiaolai.jpg" alt="动态模糊"> </div>
#filter-blur { -webkit-filter: blur(3px); -moz-filter: blur(3px); -o-filter: blur(3px); -ms-filter: blur(3px); filter: blur(3px); }
// 配置 var blur = { value: 10, // 当前值 maxValue: 20, // 最大值 minValue: 0, // 最小值 step: 1, // 每次变化的值 delay: 100, // 定时器间隔 increase: true // 默认自增 } // 不同浏览器前缀 var browserPrefix = ['webkit', 'moz', 'o', 'ms']; var xiaolai = document.getElementById('xiaolai'); var interval = setInterval(function() { // 判断增还是减 blur.value += blur.increase ? blur.step : -blur.step; // 达到最大值,设为减 if (blur.value === blur.maxValue) { blur.increase = false; } // 达到最大值,设为增 if (blur.value === blur.minValue) { blur.increase = true; } // 设置含不同浏览器前缀的 filter 属性 browserPrefix.forEach(function(element, index, array) { var key = '-' + element + '-filter'; var val = 'blur(' + blur.value + 'px)'; xiaolai.style[key] = val; }) // 无浏览器前缀,向后兼容 xiaolai.style['filter'] = 'blur(' + blur.value + 'px)'; }, blur.delay);