您需要將某個地方的以前的客戶端狀態(通常是Cookie或本地存儲)存儲起來,以便每次加載頁面時都可以前進到下一個圖像。本例使用cookie的值:
HTML:
<img class="banner-rotate" src="images/image1.gif" />
<img class="banner-rotate" src="images/image2.gif" />
<img class="banner-rotate" src="images/image3.gif" />
<img class="banner-rotate" src="images/image4.gif" />
CSS:
/* all banner images hidden by default */
.banner_rotate {display: none;}
的Javascript:
// cookie reading/writing library
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function showNextBannerImage() {
var imgs = $(".banner-rotate");
var index = 0;
var prev = readCookie("bannerIndex");
if (prev) {
var num = parseInt(prev, 10);
if (!isNaN(num) && num < imgs.length - 1) {
index = num + 1;
}
}
imgs.eq(index).show();
createCookie("bannerIndex", index, 365);
}
showNextBannerImage();
注:我用你的HTML,你顯示了它,但您不必加載所有圖像就可以顯示一個圖像。您可以計算出所需的圖片網址,並使用javascript來創建帶有相應URL的圖片標籤,然後只加載該圖片。
你能使用Cookie(即使我認爲這不是一個好主意,如果這是你必須把它的唯一的事情)?你可以使用一些本地存儲(但你必須在瀏覽器兼容性方面遇到麻煩)?你使用什麼服務器端環境(JSP?PHP?ASP.NET?)。某處您必須存儲最近查看的圖像索引。 – 2012-03-07 15:32:12