| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //兼容requestanimationframe
- function requestAniFrame() {
- return window.requestAnimationFrame ||
- window.webkitRequestAnimationFrame ||
- window.mozRequestAnimationFrame ||
- function (callback) {
- window.setTimeout(callback, 1000 / 60);
- };
- }
- //是否出现在视口内(垂直方向)
- function verInViewport(el, viewHeight) {
- var rect = el.getBoundingClientRect();
- return (rect.top > 0 && rect.top < viewHeight);
- }
- //是否出现在视口内(水平方向)
- function horInViewport(el, viewWidth) {
- var rect = el.getBoundingClientRect();
- return (rect.left > 0 && rect.left < viewWidth);
- }
- //探测浏览器是否支持webp
- function webpSupport() {
- if (!localStorage) return false;
- switch (localStorage.getItem('supportWebp')) {
- case 'true':
- return true;
- case 'false':
- return false;
- default:
- try {
- if (document.createElement('canvas').toDataURL('image/webp').indexOf('data:image/webp') == 0) {
- document.body.classList.add('webp');
- localStorage.setItem('supportWebp', 'true');
- return true;
- } else {
- localStorage.setItem('supportWebp', 'false');
- return false;
- }
- } catch (e) {
- localStorage.setItem('supportWebp', 'false');
- return false;
- }
- }
- }
- export {
- requestAniFrame,
- verInViewport,
- horInViewport,
- webpSupport,
- };
|