| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- function isInSight(el) {
- var bound = el.getBoundingClientRect();
- var clientHeight = window.innerHeight;
- //只考虑向下滚动加载
- //const clientWidth=window.innerWeight;
- return bound.top <= clientHeight + 100;
- }
- function checkImgs() {
- var index = 0;
- var imgs = document.querySelectorAll('.my-photo');
- for (var i = index; i < imgs.length; i++) {
- if (isInSight(imgs[i])) {
- loadImg(imgs[i]);
- index = i;
- }
- }
- }
- function loadImg(el) {
- var source = el.getAttribute("data-src");
- el.src = source;
- }
- // var mustRun = 500
- // function throttle(fn, mustRun) {
- // var timer = null;
- // var previous = null;
- // return function() {
- // var now = new Date();
- // var context = this;
- // var args = arguments;
- // if (!previous) {
- // previous = now;
- // }
- // var remaining = now - previous;
- // if (mustRun && remaining >= mustRun) {
- // fn.apply(context, args);
- // previous = now;
- // }
- // }
- // }
- function throttle(fn) {
- var timer = null;
- var previous = null;
- return function () {
- var now = new Date();
- var context = this;
- var args = arguments;
- if (!previous) {
- previous = now;
- }
- var remaining = now - previous;
- setTimeout(refresh(fn, remaining, context, args, previous, now));
- }
- }
- function refresh(fn, remaining, context, args, previous, now) {
- if (remaining >= 500) {
- fn.apply(context, args);
- previous = now;
- }
- }
|