Ajax: как открыть div после закрытия с помощью AJAX - PullRequest
0 голосов
/ 25 октября 2010

Я называю страницу с ajax в div. когда страница открывается, есть кнопка «закрыть», чтобы скрыть 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>

Ответы [ 4 ]

0 голосов
/ 25 октября 2010

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

0 голосов
/ 25 октября 2010

используйте toggle () вместо hide () или show ()

0 голосов
/ 25 октября 2010

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

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

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

0 голосов
/ 25 октября 2010

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

<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...";
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...