我有a PHP-script显示随机文字:
<?php
$quotes = array(
'quote 1',
'quote 2',
'quote 3',
'quote 4',
'quote 5',
);
$i = array_rand($quotes);
header('Content-Type: text/plain; charset=utf-8');
print($quotes[$i]);
?>
我怎么能每分钟调用它来在我的网页上显示一个新的引用(UTF8编码的俄文文本)(在Facebook上它本身是an iframe app)?
我是否需要在这里使用jQuery,或者是否有更轻松的解决方案,在通常的浏览器中工作?
我还没有任何AJAX经验。
更新
正如下面的Uku Loskit所建议的那样,我添加了以下代码段并且效果很好。有人可以告诉我如何使用fadeIn()消除新引用吗?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
setTimeout( function() {
$.get("/hint.php", function(data) {
$("#hint").html(data);
});
}, 5*60*1000 );
});
</script>
谢谢! 亚历
答案 0 :(得分:4)
使用setTimeout()方法。
我认为使用jQuery(特别是缩小版本)“仅适用于AJAX”并不重要,因为它提供了跨浏览器兼容的解决方案,并且更容易编程。
示例:
function getNewQuotes() {
$.get("random_quotes.php", function(data) {
// set the response from random_quotes.php to this div
$("#quotesDiv").html(data);
});
}
// 60000 milliseconds = 60 seconds = 1 minute
var t=setTimeout("getNewQuotes()", 60000);
关于混合“非JQuery和Javascript”的问题,我知道没有jQuery函数,所有jQuery仍然是Javascript并且一直依赖jQuery特定代码是没有必要的,但只对一致性有用。
编辑:
$(function() {
setTimeout( function() {
$.get("/hint.php", function(data) {
// first hide, then insert contents
$("#hint").hide();
$("#hint").html(data);
// you can probably chain this together into one command as well
$("#hint").fadeIn("slow");
});
}, 5*60*1000 );
});
答案 1 :(得分:1)
你不需要jquery,但它更容易。只需从manual中选择 如何获得一次的基本示例:
$.ajax({
url: "yourFileName.php",
context: document.body,
success: function(result){
$('#someDiv').html('result');
}
});
然后添加javascript代码以定期执行此操作。我相信你也可以从jquery thingymabob中找到一些漂亮的东西:)