페이지가로드 될 때마다 다음 이미지로 넘어갈 수 있도록 이전 클라이언트 상태 (일반적으로 쿠키 또는 로컬 저장소)를 저장해야합니다.
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;}
자바 스크립트 :
// 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을 사용하지만, 하나만 표시하려면 모든 이미지를로드 할 필요가 없습니다. 원하는 이미지 URL을 계산하고 자바 스크립트를 사용하여 적절한 URL로 이미지 태그를 만든 다음 해당 이미지 만로드 할 수 있습니다.
당신은 (나는 이것이 당신이 그것에 놓을 게요 유일한 경우는 좋은 생각이 아니다라고 생각하더라도) 쿠키를 사용할 수 있습니까? 일부 로컬 저장소를 사용할 수 있습니까? (하지만 브라우저 호환성에 문제가 있습니까?) 어떤 서버 측 환경을 사용하고 있습니까 (JSP? PHP? ASP.NET?). 어딘가에 마지막으로 본 이미지 인덱스가 무엇인지 저장해야합니다. –