栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用jQuery检测元素是否可见

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用jQuery检测元素是否可见

您正在寻找:

.is(':visible')

尽管您可能考虑到仍在其他地方使用它,但应该将选择器更改为使用jQuery:

if($('#testElement').is(':visible')) {    // Code}

重要的是要注意,如果目标元素的父元素中的任何一个被隐藏,则

.is(':visible')
子元素将返回
false
(这很有意义)。

jQuery 3

:visible
一直以选择器速度较慢而著称,因为它必须遍历检查一堆元素的DOM树。但是,对于jQuery3来说有个好消息,

多亏了Google的Paul
Irish的一些侦探工作,我们发现某些情况下,当在同一文档中多次使用自定义选择器如:visible时,我们可以跳过很多额外的工作。现在,该特定案例的速度提高了17倍!

请记住,即使有了这一改进,像:visible和:hidden这样的选择器也会很昂贵,因为它们取决于浏览器来确定元素是否真正显示在页面上。在最坏的情况下,可能需要完全重新计算CSS样式和页面布局!尽管在大多数情况下我们不鼓励使用它们,但建议您测试页面以确定这些选择器是否引起性能问题。


进一步扩展到您的特定用例,有一个内置的jQuery函数称为

$.fadeToggle()

function toggleTestElement() {    $('#testElement').fadeToggle('fast');}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号