みんな:
あるページから画像のソースURLを取得して、別のページのJavaScriptで使用しようとしています。JQuery .load()を使用して画像を取り込む方法を知っています。ただし、すべての画像を読み込んでページに表示するのではなく、ソースURLを取得して、JS配列で使用できるようにします。
ページ1は、画像を含む単なるページです。
<html>
<head>
</head>
<body>
<img id="image0" src="image0.jpg" />
<img id="image1" src="image1.jpg" />
<img id="image2" src="image2.jpg" />
<img id="image3" src="image3.jpg" />
</body>
</html>
ページ2には私のJSが含まれています。(最終的な目標は、画像を配列に読み込み、ランダム化し、Cookieを使用して、10秒ごとにページの読み込み時に新しい画像を表示することです。これはすべて機能しています。ただし、画像パスをJavaScriptにハードコーディングするのではありません。以下に示すように、IDに基づいてページ1からパスを取得することをお勧めします。このように、画像に「image1.jpg」などのタイトルを付ける必要はありません。)
<script type = "text/javascript">
var days = 730;
var rotator = new Object();
var currentTime = new Date();
var currentMilli = currentTime.getTime();
var images = [], index = 0;
images[0] = "image0.jpg";
images[1] = "image1.jpg";
images[2] = "image2.jpg";
images[3] = "image3.jpg";
rotator.getCookie = function(Name) {
var re = new RegExp(Name+"=[^;]+", "i");
if (document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1];
return'';
}
rotator.setCookie = function(name, value, days) {
var expireDate = new Date();
var expstring = expireDate.setDate(expireDate.getDate()+parseInt(days));
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}
rotator.randomize = function() {
index = Math.floor(Math.random() * images.length);
randomImageSrc = images[index];
}
rotator.check = function() {
if (rotator.getCookie("randomImage") == "") {
rotator.randomize();
document.write("<img src=" + randomImageSrc + ">");
rotator.setCookie("randomImage", randomImageSrc, days);
rotator.setCookie("timeClock", currentMilli, days);
}
else {
var writtenTime = parseInt(rotator.getCookie("timeClock"),10);
if ( currentMilli > writtenTime + 10000 ) {
rotator.randomize();
var writtenImage = rotator.getCookie("randomImage")
while ( randomImageSrc == writtenImage ) {
rotator.randomize();
}
document.write("<img src=" + randomImageSrc + ">");
rotator.setCookie("randomImage", randomImageSrc, days);
rotator.setCookie("timeClock", currentMilli, days);
}
else {
var writtenImage = rotator.getCookie("randomImage")
document.write("<img src=" + writtenImage + ">");
}
}
}
rotator.check()
</script>
誰かが私を正しい方向に向けることができますか?私の勘はJQuery.get()を使用することですが、これまでのところ成功していません。
明確にできたら教えてください!