hoffe, ich werde meine Bedürfnisse klar erklären können ... :). Ich habe ein HTML-Dokument, das von einem PHP-Skript generiert wird, das einige Objekte enthält, die in Memcache gespeichert sind.
Das PHP-Skript verwendet diese Objekte, um die HTML-Elemente zu füllen und eine Struktur wie diese zu erstellen:
//$day is an array of objects pulled from memcache
<ul id="day">
<?php foreach($day as $key => $object): ?>
<li>
<a href="<?php echo $object->getUrl(); ?>"><img src="/images/<?php echo $object->getImageUrl(); ?>" alt ="bla bla bla" width="220"/></a>
<div class="cover">
<span class="service">this is our service: <?php echo $object->getServiceName() ?></span>
<span class="count"><?php echo $object->count() ?> </span>
<span class="link"><a href="http://mydomain.com?objecturl= <?php echo $object->getUrl()?></a></span>
</div>
</li>
<?php endforeach; ?>
</ul>
Grundsätzlich wird mein Memcache alle zwei Minuten aktualisiert ...
Nun, was ich tun möchte, ist dynamisch zu aktualisierender Inhalt des HTML mit den neuen Objekten aus Memcache mit Hilfe eines animate () Effekts. Ich bin ziemlich neu in jQuery und ich bekomme die Grundlagen davon, aber ich konnte keine Referenz finden, um so etwas zu tun (die verschachtelte Struktur des Memcache und die Tatsache, dass ich Objekte verwende ... mach es zu a etwas herausfordernd ..).
Jede Hilfe, Codebeispiele oder Referenzen werden (wie immer) sehr geschätzt :)
Antworten:
0 für die Antwort № 1Dies ist mehr mootools Syntax, aber die Idee ist die gleiche, Sie werden eine Ajax-Anfrage machen, um das HTML zu holen und dann schieben Sie es in ein div alle so viele Sekunden oder auf einem onclick-Ereignis oder etwas.
function updateHTML() {
var display = $("somediv");
var myRequest = new Request.JSON({
url: "/getmyhtml.php",
method: "post",
data: {
"postdata" : "postvalue" // if you need to pass some post data
},
onComplete: function(response) {
if (response.success) {
display.set("html", response.data);
updateHTML().delay(120000) // 2 min
}
}
}).send();
}
window.addEvent("domready", function() {
updateHTML();
});
und dann würde deine getmyhtml.php dein html in einer $ variablen haben und dann tun
<?php
function getHTML()
{
$html = "my html";
$ret = array(
"success" => true,
"data" => $html,
);
return json_encode($ret);
}
getHTML();