如何关闭或使已加载的div返回其原始状态

时间:2018-09-15 19:25:17

标签: javascript jquery html

我有一个 index.php ,其中有一个包含内容的 #container div和一个 #open 按钮。 页面上还有2个标签。

...
<div id="Tabs">
    <div id="content1Tab"></div>
    <div id="content2Tab"></div>
</div>
<div id="container">
   <div id="content1">
       ..someContent...
       <button id="open1">Open</button>
   </div>
   <div id="content2">
       ..someContent...
       <button id="open2">Open</button>
   </div>
</div>

点击 content1Tab ,使用z-index,将 content1 带到容器的最前沿。

点击 content2Tab content2 置于最前面。

$(document).ready(function(){ 
    $("#content1Tab, #content2Tab).click(function(event) {
            var myString = $(this).attr('id');
            var parts = myString.split("Tab");
            var thePart = parts[0];

            $("#content1, #content2).css('z-index', 7);
            $("#"+thePart).css('z-index',9);
       });
...

点击 open1 成功地从 page.php中加载 containerOther

div的内容容器
$('#open1').click(function(){
        $("#container").load("../page.php #containerOther> *");
    });

我想点击标签重新加载容器的原始内容。我该怎么办?

我尝试过:

$("#content1Tab, #content2Tab).click(function(event) {            
        $("#container").load("../index.php #container > *");
       ....
    });

但是无论我单击哪个选项卡,容器都保留在 content1 上,并且 open1 不会执行任何操作。调试显示单击不输入js代码。我尝试过:

 $("#container").load("../index.php #"+thePart);

内容会随着标签页的点击而变化,但该按钮仍然无法使用。 索引页面都有指向js文件的链接。

1 个答案:

答案 0 :(得分:0)

如果我正确地遵循它,则它是在#container的内容中进行排序,首先将按钮绑定到jQuery功能。 这样,绑定将丢失,因此当您再次单击这些按钮时,什么也不会发生。

解决方案是在内容刷新后再次绑定,我认为它带有回调函数:

$('#container').load("../index.php #"+thePart, function() {
    $('#open1').click(function(){
        $("#container").load("../page.php #containerOther> *");
    });
});

我认为在内容刷新后绑定一个单独的函数会更好,因为如果您使用上面的代码,则绑定问题将在首次成功刷新内容后发生:)。