我记得在某个时候歌剧( Mostlikely it was Safari instead. )
有一个问题,如果你使用.hide()
在元素上,它会在实际隐藏元素之前短暂闪烁。
现在,如果你不想忽略那些由于某种原因在浏览器中没有打开 js 的人,你就不能真正使用 CSS 来设置display: none;
在该元素中隐藏它,然后使用 js 淡入淡出。
我最近注意到这种情况在 Opera 中不再发生。所以,我想知道在某些浏览器中是否仍然会发生这种情况,以防我错过了......并假设这种情况会发生。什么方法是最安全的方法? (当然在这种情况下忽略 css 方法。)
js .hide()
js .addClass('hide')
css .hide { display: none; }
或者是其他东西?
Edit:
js element.style.display = "none"
js $(element).css({display:"none"})
Edit2:这个问题实际上可能是在 Safari 中出现的。我还认为较新的 jquery 版本可能已经解决了这个问题。我认为 jquery 网站上有一些关于此问题的错误报告,但我找不到这些错误报告。或者它仍然可能是较新的浏览器版本修复了它.. 没有把握。
Edit3:
因此,当我开始在 Safari 而不是 Opera 中搜索此错误时,我确实发现了更多相关信息。虽然我不能肯定地说这在歌剧中也从未发生过......
看起来这个问题已经不存在了,可以安全使用.hide()
但我了解到的是$(element).css({display:"none"})
当问题仍然存在时确实解决了问题。
你应该始终依赖使用jQuery
hide()
隐藏任何元素的方法,因为它会照顾所有浏览器。我没有看到任何问题Opera
though.
即使要显示任何元素,您也应该始终依赖使用show()
出于同样的原因再次使用方法。
例如。要显示一个tr
元素如果我们说tr.css("display", "block")
它在 Firefox 中不起作用,因为它是一个表格行,需要指定为.css("display", "table-row")
。但如果你使用tr.show()
您不必担心任何浏览器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)