2010-10-24 5 views
0

Я вызываю страницу с ajax в div. когда открывается страница, есть кнопка «закрыть», чтобы скрыть div. После нажатия кнопки закрытия мне нужно обновить страницу, чтобы снова открыть div. Что мне делать, чтобы открывать и закрывать div столько, сколько мне нравится, не обновляя страницу?ajax: как повторно открыть div после закрытия с помощью ajax

код:

<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> 
+0

Если вы поместите свою информацию о стиле в таблицу стилей, ваш код будет намного легче читать, как для вас, так и для нас. –

+0

Вы имеете в виду обратную сторону 'hide()'? То есть 'Шоу()'? – lonesomeday

ответ

0

Я не проверял, но на якорь "закрыть", попробуйте следующее:

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

После того, как вы есть, что вы можете, вместо удаления ДИВ, просто удалить (и readd) его содержание:

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

есть и другие способы, конечно, но это один из них. Обратите внимание, что я не тестировал код.

0

использовать тумблер() вместо того, чтобы скрывать() или шоу()

0

Я не эксперт, но если вы не хотите, чтобы скрыть или показать DIV тег с анимацией, вы можете просто изменить видимость из div с помощью CSS. Вы можете иметь следующие функции, чтобы закрыть и открыть DIV тег:

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

Хорошая вещь о CSS является то, что вам не нужно, чтобы восстановить содержание, поэтому я думаю, что он должен работать быстрее, и ваш код может быть короче.

0

Я не уверен, что я понимаю ваш вопрос. Однако, если вы просто хотите, чтобы функция close-link выполняла функцию javascript, и ничего больше, замените «#» на «javascript :;» в теге link. Якорь может иногда приводить к неожиданному поведению.

Смежные вопросы