jQuery.hide函数不起作用



Hy伙计们,希望你们能帮忙。

我有一个非常简单的jQuery隐藏函数,它正在工作,但InTheRom在一夜之间出现了一些错误,现在已经不存在了。实际上,我试图在一些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;
}

有什么想法吗?为什么它在整个主权财富基金加载后都不隐藏?

谢谢。R

如果你有问题,我会切换到:

$(document).ready(function () {
    $(window).load(function () {
        $('.patience').hide();
    });
});

这可能有助于一切正常初始化。

我不确定我是否理解主权财富基金是如何关联的。。。也许你的意思是说swf_elem.onload或其他什么而不是window.onload

首先将window.onload=hidden;更改为$(function(){hidden();});

我建议的新方法是使用jQuery的document ready版本,它确保您可能想要影响的元素已加载并可以使用。

此外,我在您的代码中没有看到任何将hidden()函数连接到任何SWF加载的内容

请参见Fiddle:http://jsfiddle.net/maniator/XX8ym/

首先-window.onload是放置此处理程序的正确位置-与$(document).ready()不同,它将等待所有子帧、图像等加载完毕。

我不知道window.onload是否也会等待SWF对象被加载。

如果没有等待SWF,那么效果将是.patiencediv也会提前消失,因为页面的其余部分将已加载完毕。

它确实在等待,但您的div根本没有消失,这表明您在实际JS代码中的某个地方出现了一个小错误,导致无法调用.hide()

既然您已经说过div不会消失,我建议您已经遇到了后一个问题,在这种情况下,使用JS调试器几分钟应该会发现(并非双关语)问题。

可能是您的jQuery加载失败。此外,在使用jQuery时,请使用jQuery的$.ready而不是window.onload,以确保在尝试做任何事情之前,所有事情都处于平静状态!

我的愚蠢错误!

我给你看的代码没有错,但我发现我在打电话头中的<script type="text/javascript" src="js/jquery-1.6.1.js"></script>,并且我的服务器上只存在"js/jquery-1.6.1.min.js"脚本。

现在感觉很愚蠢,但感谢所有做出贡献的人。

干杯Rog

相关内容

  • 没有找到相关文章

最新更新