如果 PHP 輸出的結果不是很多,例如有20條網(wǎng)站新聞,你完全可以在頁面加載的時候全部輸出,但是隱藏,然后用 Javascript 判斷應該顯示哪一條。
為潁上等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及潁上網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站設計、成都網(wǎng)站制作、潁上網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
【CSS】
ul#news li {display: none;}
【PHP】
?php
// 假設你的數(shù)據(jù)是從 MySQL 數(shù)據(jù)庫中得到,輸出最后20條新聞
$mysqli = new mysqli("localhost", "user", "password", "news");
$result = mysqli-query("SELECT title, content FROM news ORDER by ID DESC LIMIT 20");
echo "ul id=\"news\"";
while ($row = $result-fetch_assoc()) {
echo "listrong".$row["title"]."/strong: ".$row["content"]."/li";
}
echo "/ul";
exit;
?
【jQuery】
$(function() {
// 頁面加載的時候顯示第一條新聞
$("#news li:first").show();
var current_row = 1;
var interval_news = setInterval(function() {
// 隱藏當前新聞
$("#news li:nth-child(" + current_row + ")").hide();
// 顯示 current_row + 1 條新聞
$("#news li:nth-child(" + (current_row + 1) + ")").show();
// 更新 current_row
if(current_row == 20)
current_row = 1;
else
current_row++;
// 每120秒循環(huán)一次
}, 1000 * 120);
});
如果每次輸出的內容比較多,要每2分鐘通過 $.post 或 $.get 向服務器發(fā)出請求
【PHP】
?php
if(isset($_GET["id"])) {
// mysql LIMIT 的 offset 從 0 開始
$id = (int)$_GET["id"] - 1;
$mysqli = new mysqli("localhost", "user", "password", "news");
$result = mysqli-query("SELECT title, content FROM news ORDER by ID DESC LIMIT $id, 1");
$data = $result-fetch_assoc();
// 只輸出 id 為 $id 的內容,格式為 json
echo json_encode(array($data["title"], $data["content"]));
}
exit;
?
【jQuery】
$(function() {
var id = 1;
var news_interval = setInterval(function() {
$.get("news.php", {id: id}, function(data) {
data = $.parseJSON(data);
$("h2#title").text(data.title);
$("div#content").html(data.content);
});
if(id == 20)
id = 0;
else
id++;
}, 1000 * 120);
});
這只是大體思路,具體操作還要根據(jù)你的需求而定。
你的前臺頁面$.each循環(huán) 是不是應該循環(huán)data.list,如果非要寫成data ,那么后臺php組裝數(shù)據(jù)的時候
$arr['list'][] = ...直接寫成$arr[] 你加個list鍵是有什么特別的意義嗎
使用js動態(tài)獲取的數(shù)據(jù)是無法使用thinkphp標簽的,可以使用一些js的模板標簽,如?arttemplate
如果一定要動態(tài)使用thinkphp的標簽,可以設置一個獨立的頁面,顯示的就是html的內容,再通過jquery ?get數(shù)據(jù)替換到頁面中。