如何判断一个元素是否在可视范围
分类:实例代码
分享一段代码实例,它实现了判断一个元素是否在可视区域的功能。
也就是判断一个元素是否在浏览器客户区之内。
代码实例如下:
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.pipipi.net/" /> <title>前端教程网</title> <style type="text/css"> div { width: 100px; height: 100px; background-color:#ccc; position:absolute; text-align:center; line-height:100px; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> $(document).ready(function () { var windowheight = $(window).height(); var firstheight = $("div").offset().top; var scrolltop = $(window).scrollTop(); if (firstheight >= scrolltop && firstheight < (scrolltop + windowheight)) { $("div").text("位于可视范围"); } }); </script> </head> <body> <div></div> </body> </html>
上面的代码实现了我们的要求,下面介绍一下它的实现过程。
一.代码注释:
(1).$(document).ready(function () {}),当文档结构完全加载完毕再去执行函数中的代码。
(2).var firstheight = $("div").offset().top,获取div元素顶部相对于document的偏移量。
(3).var scrolltop = $(window).scrollTop(),获取页面向上滚动的距离。
(4).firstheight >= scrolltop && firstheight < (scrolltop + windowheight),如果div的距离document顶部的偏移量,大于等于页面向上滚动的尺寸,也就是div不会被客户区顶部之外的地方有所遮挡;firstheight < (scrolltop + windowheight)也就是div不会被客户区底部之外的地方有所遮挡。
二.相关阅读:
(1).offset()方法参阅jQuery offset()一章节。
(2).scrollTop()方法参阅jQuery scrollTop()一章节。
如何判断一个元素是否在可视范围,这样的场景在实际项目中还是用的比较多的,关于如何判断一个元素是否在可视范围就介绍到这了。
如何判断一个元素是否在可视范围属于前端实例代码,有关更多实例代码大家可以查看。
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu