我有一个非常简单的jQuery隐藏功能,但是有些bugInTheRom在一夜之间发生了,它不再存在。实际上,我正在尝试在某些SWF加载时添加“耐心”警告。
这是我在<head>
部分的电话......
<script type="text/javascript" src="js/jquery-1.6.1.js"></script>
<script type="text/javascript">
function hidden() {
$('.patience').hide();
};
window.onload=hidden;
</script>
这是它影响的课程......
<p class="patience">Please be patient, the interactive book below and the PDF links may take a while to fully load.</p>
和相关的CSS ...
.patience {
visibility: visible;
background-color: #CCC;
border: 1px solid #000;
margin-right: 10px;
margin-left: 10px;
}
为什么在整个SWF加载后它不会隐藏的任何想法?
谢谢。 [R
答案 0 :(得分:3)
如果您遇到问题,我会切换到:
$(document).ready(function () {
$(window).load(function () {
$('.patience').hide();
});
});
可能有助于所有内容正确初始化。
我不确定我是否理解SWF是如何相关的...也许您想说swf_elem.onload
或者其他而不是window.onload
?
答案 1 :(得分:1)
首先,将window.onload=hidden;
更改为$(function(){hidden();});
我建议的新方法是使用jQuery的document ready
版本,这样可以确保加载并可以使用您可能想要影响的元素。
此外,我在代码中看不到任何将此hidden()
函数连接到任何SWF加载
答案 2 :(得分:1)
首先 - window.onload
是放置此处理程序的正确位置 - 与$(document).ready()
不同,它会等到所有子帧,图像等都已加载。
我不知道window.onload
是否也会等待加载SWF对象。
如果不等待SWF,那么效果就是你的.patience
div将会提前消失,因为其余的页面已经完成加载。
它确实等待了,但是你的div根本没有消失,这表明你在真正的JS代码中某处发生了一个微不足道的错误,阻止了.hide()
被调用。
既然你已经说过div没有消失,我会建议你遇到后一个问题,在这种情况下,使用JS调试器几分钟就会发现(没有双关语意)问题。
答案 3 :(得分:0)
可能是你的jQuery无法加载。此外,在使用jQuery时,使用jQuery的$ .ready而不是window.onload来确保在尝试做任何事情之前所有事情都很平静!
答案 4 :(得分:0)
我的愚蠢错误!
我向你展示的代码没有错,但我发现我正在打电话
头部<script type="text/javascript" src="js/jquery-1.6.1.js"></script>
,我的服务器上只存在“js / jquery-1.6.1.min.js”脚本。
现在感到愚蠢,但感谢所有贡献者。
干杯 ROG