У меня есть серия вопросов да / нет, которые я отображаю по одному с помощью плагина Cycle.
Вопросы в элементе <ul>
.
Когда на вопрос получен ответ, в запросе AJAX отображается доля людей, ответивших «да» или «нет» на этот вопрос с помощью сценария php, и вопрос удаляется из <ul>
.
Вот в чем проблема.
Автор самого плагина цикла говорит, что необходимо остановить и перезапустить слайд-шоу, чтобы удалить слайд.
Когда я пытаюсь сделать это, вызвав $element.cycle('destroy')
или $element.cycle('stop')
, удалите элемент, затем перезапустите с помощью $element.cycle()
, цикл не будет продолжаться, как ожидалось. Происходит только один переход, и затем слайд-шоу останавливается.
Вот мой JS:
$j = jQuery.noConflict();
$j(document).ready(function() {
var $questions = $j('#questions');
$questions.cycle();
$j('#survey input').click(function(e) {
e.preventDefault();
question = parseInt($j(this).attr('name'));
answer = $j(this).attr('value');
$j.post( 'process.php', {
question: question,
answer: answer
}, function(data) {
$j('#result p').replaceWith('<p>' + data + '</p>');
});
$questions.cycle('destroy');
$j(this).closest('.question').remove();
$questions.cycle();
});
});
А это мой HTML:
<ul id="questions">
<li class="question">
<h3>do you like to stay at home?</h3>
<form id = "survey" action="process.php" method="post">
<input type="submit" name = "2" value = "yes" >
<input type="submit" name = "2" value = "no" >
</form>
</li>
<!-- four or five more questions here -->
</ul>
<div id="result"><p></p></div>
Что здесь происходит?