我写了一些jQuery,它在页面加载时隐藏了某个元素,它在mac上的浏览器上无缝地工作,但是当我在iPad上尝试它时,当元素出现时会有一个明显的弹出页面然后消失。这是导致问题的iPad,在这种情况下,我可能不得不重新考虑我的页面加载过程。
隐藏我正在使用的元素:
$(document).ready(function() {
$('#element').hide();
});
其他jQuery稍后会在点击内容时显示该元素,因此我可以使用css隐藏它,但在没有js的情况下不会很好地降级。
答案 0 :(得分:4)
为什么不在声明它之后立即使用html标签的类(使用javascript )并使用CSS隐藏元素?
的Javascript
<script type="text/javascript">
document.documentElement.className = 'js';
</script>
Css规则(样式表中的,或者中的)
.js #element{display:none;}
只需在页面<head>
标记内添加上述内容,即可进行设置。
答案 1 :(得分:2)
要找出原因并解决原因,如果结果是棘手的话,您可以考虑在结束body
标记之前使用内联脚本隐藏它,而不是通过ready
处理程序。 E.g:
<!DOCTYPE html>
<html>
<head>
<!-- blah blah blah -->
<script src='path_to/jquery.js'></script>
</head>
<body>
<!-- blah blah blah -->
<div id='element'>...</div>
<!-- blah blah blah -->
<script>
$('#element').hide();
</script>
</body>
</html>
只要脚本跟随相关元素的关闭,就应该找到它。
我认为只有在脚本运行时才会隐藏它(渐进增强,那种事情)。
参考文献: