0

状況:

PHP関数を含むhtmlページがあります。この関数は、配列の要素をforeachループでエコーします。配列のデータは、個々のエコーで使用されます。

foreach ($DB->query($sql) as $v) {
    echo $v['specificData'];
}

すべての新しい要素は、ajax を使用して配列に追加されます。

問題:

location.reload新しい要素が追加されるたびにページを更新して、すぐに表示されるようにしています。問題は、そのソリューションがエレガントで効率的ではないことです。

質問:

他のオプションは何ですか? 最も簡単なほど良い。

ヘルプとアドバイスに感謝します;)

PS: もう考えましjquery.append()たが、誰かがもっと簡単なアイデアを持っていることを願っています xD

4

2 に答える 2

0

ページの更新が必要な部分だけを更新します。AJAXコールバックが成功したときにjQueryで次のようなことを行うことで、スムーズにすることができます:

$(element).fadeOut(function(){
    $(element).html(ajax_response_here).fadeIn(); // .html() or .append() whichever makes more sense
});
于 2013-03-04T18:54:03.663 に答える
-1

すでに ajax を使用してデータをサーバーに送り返している場合、それを使用して dom を更新するのも難しいはずです。効率的な方法が必要な場合は、おそらくこれが最適な方法です。サイトの更新に jQ を使用したくない場合は、単純に基本的な js 関数を記述できます。

function appendTo(parent, content) {
    parent.innerHTML += "<p>"+content+"</p>";
}

また

function appendToById(parentId, content) {
    appendTo(document.getElementById(parentId), content);
}
于 2013-03-04T18:58:31.050 に答える