希望我能够清楚地解释我的需求...... :)。 我有一个由PHP脚本生成的HTML文档,其中包含存储在memcache中的一些对象 PHP脚本使用这些对象来填充HTML元素并创建如下结构:
//$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="<?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>
基本上我的memcache每两分钟更新一次...... 现在,我想要做的是使用某种animate()效果使用memcache中的新对象动态更新HTML的内容。 我是jQuery的新手,我确实得到了它的基础知识,但我找不到任何像这样的东西的参考(内存结构,内存缓存和我正在使用对象的事实......确实使它成为一个有点挑战..)。
任何帮助,代码示例或参考资料将(一如既往)高度赞赏:)
答案 0 :(得分:0)
这是更多的mootools语法,但是这个想法是一样的,你要做一个ajax请求来获取那个html,然后每隔很多秒或者onclick事件或其他东西把它推到div中。
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();
});
然后你的getmyhtml.php将你的html放在一个$变量中然后再做
<?php
function getHTML()
{
$html = "my html";
$ret = array(
'success' => true,
'data' => $html,
);
return json_encode($ret);
}
getHTML();