Сценарий ниже генерирует разметку в режиме реального времени и autoupdates с setInterval
. Разметка состоит из button
и скрытого содержимого в div
s. Отдельная кнопка скрывает свой соответствующий div
. Однако на каждом интервале div снова скрывается. Я пытаюсь сохранить такой конкретный div
, показанный после каждого интервала, после щелчка. Есть ли способ для DOM запомнить, какой div
был показан на предыдущем обновлении интервала? Я пытаюсь достичь этого с помощью интерфейсного JavaScript, без серверных решений. Заранее спасибо!Сохранять jQuery сгенерированную разметку между setInterval AJAX
setInterval(itemMenu,1500);
function itemMenu() {
$.ajax({
type: "GET",
url: "Administration/data/people.xml"
}).done(function (xml) {
$("#loadMe").empty();
$("#toadMe").empty();
$(xml).find('fullName').each(function(index) {
////////////////////////////
// generate loadMe markup //
var i = index + 1;
var fullName = $(this).text();
$('<button type="button" class="mybutton" name="users" onclick="itemContent(this.value)"></button>').attr('value', i).html(fullName).appendTo('#loadMe');
////////////////////////////
// generate toadMe markup //
var firstName = $(this).siblings('firstName');
var lastName = $(this).siblings('lastName');
var age = $(this).siblings('age');
var hometown = $(this).siblings('hometown');
var job = $(this).siblings('job');
$('<div></div>').attr('id', i).appendTo('#toadMe');
$('<h1></h1>').html(firstName).appendTo('#' + i);
$('<h1></h1>').html(lastName).appendTo('#' + i);
$('<h1></h1>').html(age).appendTo('#' + i);
$('<h1></h1>').html(hometown).appendTo('#' + i);
$('<h1></h1>').html(job).appendTo('#' + i);
$('#'+i).hide();
});
}).fail(function (response, error) {
$('#info').text('Error!');
});
};
function itemContent(k) {
$("#"+k).show();
};
Dave, на самом деле я обнаружил синтаксическую ошибку, когда вы устанавливали значения для кнопок, я добавил '.text()', что, казалось, устранило проблему. Кроме того, вместо добавления к '# toadMe' мне нужно заменить данные внутри' # toadMe'. Я не могу вспомнить эту функцию, хотя ... Похоже, что это сработает, когда я нахожу эту функцию !!! Благодаря тонну. – Jim22150
Извините. Я набрал его в текстовое поле здесь, не имея хорошего способа проверить его. –
Вы хотите разрешить видимость div одного человека в #toadMe в определенный момент времени, или вы хотите быть уверенным, что отображается только одна копия div каждого человека (т. Е. Несколько из них могут быть открыты, но не дублируются)? –