繁体   English   中英

ajax:使用ajax关闭后如何重新打开div

[英]ajax: how to reopen a div after closing using ajax

我在div中用ajax调用页面。 当页面打开时,有一个“关闭”按钮可以隐藏div。 单击关闭按钮后,我需要刷新页面以重新打开div。 我应该怎么做才能在不刷新页面的情况下尽可能多地打开和关闭div?

码:

<script>
$(document).ready(function(){   

$('#close').click(function() {
  $('#show_options').hide();
  $(window).unload( function () { alert("Bye now!"); } );
});


});

</script>

 <a href="#" id="close">Close</a> <div id="show_options" style="position:absolute;     width:500px; padding:10px; left: 246px; top: 41px; z-index:900;"></div>My selection: <span     id="select-result" style="font-family:Arial, Helvetica, sans-serif;font-    size:10pt;color:#444;">leeg</span> </div>



<a ONClick="xmlhttpPost('selected_output_team.php', 'options', 'show_options'); return         false; " id="show_options"> edit</a>

我尚未对此进行测试,但是在“接近”锚点处,尝试以下操作:

<a href="#" id="close" onclick="closeDiv();">Close</a>
... stuff ...
<a href="#" id="open" onclick="openDiv();">Open</a>

一旦有了它,您就可以删除它的内容,而不是删除div:

function closeDiv()
{
    document.getElementById("show_options").innerHTML = "";
}
function openDiv()
{
    document.getElementById("show_options").innerHTML = "...whatever...";
}

当然还有其他方法,但这就是其中一种。 请注意,我尚未测试代码。

使用toggle()代替hide()或show()

我不是专家,但是如果您不想隐藏或显示带有动画的div标签,则可以使用CSS来简单地更改div标签的可见性。 您可以具有以下功能来关闭和打开div标签:

function close() {
    document.getElementById("show_options").style.display = "none";
}
function open() {
    document.getElementById("show_options").style.display = "block";
}

CSS的好处是您不必重新生成内容,因此我认为它应该运行得更快,并且您的代码可能会更短。

我不确定我是否理解您的问题。 但是,如果您只是想让close-link执行javascript函数,而别无其他,请将“#”替换为“ javascript :;” 在链接标记中。 锚有时可能会给您一些意外的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM