jQuery .hide功能不起作用

时间:2011-06-28 17:01:57

标签: jquery hide

Hy小伙伴,希望你能帮忙。

我有一个非常简单的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

5 个答案:

答案 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加载

的内容

请参阅小提琴:http://jsfiddle.net/maniator/XX8ym/

答案 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