站点图标 起风网

task-29Jquery懒加载、回顶部

task-29Jquery懒加载、回顶部缩略图

问答

1. 如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible实现

function isVisible($node){        var scrollTop = $(window).scrollTop(),                winH = $(window).height(),                top = $node.offset().top;        if (scrollTop+winH>top) {            return true;        }else{            return false;        } }

2 .当窗口滚动时,判断一个元素是不是出现在窗口可视范围。每次出现都在控制台打印 true。用代码实现

function logVisible($node){        $(window).on('scroll',function(){            var scrollTop = $(this).scrollTop(),                winH = $(this).height(),                top = $node.offset().top;        if (scrollTop+winH>top) {            console.log('true');        }        })   }logVisible($('div'));

3. 当窗口滚动时,判断一个元素是不是出现在窗口可视范围。在元素第一次出现时在控制台打印 true,以后再次出现不做任何处理。用代码实现

function logVisible($node) {        $(window).on('scroll', function() {            var scrollTop = $(this).scrollTop(),            winH = $(this).height(),            top = $node.offset().top;            if (scrollTop + winH > top) {                if ($node.data('visible')) {                    return;                }                $node.data('visible', true);                console.log('true');            } else {                $node.data('visible', false);            }        })    }    logVisible($('div'));

4. 图片懒加载的原理是什么?

因此优点就很明显了:不仅可以减轻服务器的压力,而且可以让加载好的页面更快地呈现在用户面前(用户体验好)。

代码

源码地址
1. backtop 预览
2. 图片懒加载 预览
3. 懒加载ajax 预览(本地测试成功)

文章转载于:https://www.jianshu.com/p/9e3c198b89bd

原著是一个有趣的人,若有侵权,请通知删除

退出移动版