jQuery .load阻止.hide和.show工作?

时间:2011-12-23 18:41:24

标签: javascript jquery load hide show

所以我遇到了jQuery的一个奇怪的问题。基本上我在页面上有两个元素 - 一个div通过.load()(在下面的例子中是#optionOne)和另一个具有静态内容的div(#optionTwo)将页面片段加载到子div中。每当调用一个函数时(每10秒钟左右),它会随机选择一个或另一个来显示()或隐藏()。这是javascript:

    var editableOrSocial = Math.floor(Math.random()*2);     
    if (editableOrSocial == 0) {
        $j('#optionTwo').hide();
        $j('#optionOne').show();
        $j('.thecontent').load('http://www.example.com/ .post-content', function() { });
    }
    else {
        console.log('else called!');
        $j('#optionOne').hide();
        $j('#optionTwo').show();
    }

现在,如果删除.load(),这将完美无缺。它将来回切换,适当地显示和隐藏每个div。但是,只要我添加.load(),它就会“卡住”该选项。即使调用else,它实际上也不会显示或隐藏任何div(因此在那里进行小调试“其他调用!”消息......我想确保它有效)。

之前有人遇到过这个问题吗?是.load()以某种方式压倒东西?我非常困惑。

编辑:没关系,只是在我发布之后才发现它。改变这个:

        $j('.thecontent').load('http://www.example.com/ .post-content', function() { });

到这个

        $j('#optionOne .thecontent').load('http://www.example.com/ .post-content', function() { });

修好了。但是我仍然有兴趣了解为什么会这样。我猜它可能与加载触发显示状态有关?

0 个答案:

没有答案