前回、重複しない画像選びを教えて頂き、その後の続きを頑張ってみましたが
策が尽きてしまいました。皆様のお力をお借りできないでしょうか。
【※現在の状況】
・[A]→[B1]→[B2]→[C]の順番で再生
・[A] [C]は固定(指定)画像を表示、[B1] [B2]はB1~5.jpgの中からランダムに表示し、重複選択を回避しています。
上記にさらに下記機能をプラスしたいと思っております。
【実現したいこと】
・クロスフェード(またはフェードイン、アウト)を実装したい。
・初回再生時にランダムで取得した画像を、リピート再生時にもう一度ランダム読込み表示させたい。
形式は上記内容を踏まえた物であれば、まったく違うものになっても構いません。
どうか助けて頂けないでしょうか。よろしくお願い致します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SLIDESHOW</title>
<script type="text/javascript" src="http://medienfreunde.com/lab/innerfade/js/jquery …
<script type="text/javascript" src="http://medienfreunde.com/lab/innerfade/js/jquery …
<SCRIPT LANGUAGE="JavaScript">
<!--
var imgA = ["images/A.jpg"],
imgB = new Array();
imgB[0] = "images/B1.jpg";
imgB[1] = "images/B2.jpg";
imgB[2] = "images/B3.jpg";
imgB[3] = "images/B4.jpg";
imgB[4] = "images/B5.jpg";
var n1 = Math.floor(Math.random()*imgB.length);
while ( true ) {
var n2 = Math.floor(Math.random()*imgB.length);
// n1とn2がちがっていればループ終了 同じの場合はもう一度ランダム実行
if ( n1 != n2 )
break;
}
imgC = ["images/C.jpg"];
cnt = 0;
interval = 1000;
function img_slide(){
//以下枚数分繰り返し
if(cnt==0)
{document.show.src=imgA;
cnt++;
}else if(cnt==1)
{document.show.src=imgB[n1];
cnt++;
}else if(cnt==2)
{document.show.src=imgB[n2];
cnt++;
}else if(cnt==3)
{document.show.src=imgC;
cnt=0;
}
}
function img_move(){
img_slide();
timerID = setTimeout("img_move()",interval);
}
// -->
</SCRIPT>
</head>
<body onload="img_move()">
<div>
<img src="images/A.jpg" name="show" width="300" height="250" >
</div>
</body>
</html>
No.1ベストアンサー
- 回答日時:
こんにちは。
この前のbgSwitcherを使ったものであればランダム画像の初期化ができるように作ってみました。
前回ファイル等準備していたら締切に間に合わなかったのでうまく行ったか気になっていました。
これでイメージとあっているなら使ってやってください。
動作サンプルの一番下からカスタマイズ後のjquery.bgSwitcher.jsがダウンロードできます。
==== 動作サンプル
http://hppg.moe.hm/okwave/qa/q7308681/
プラグインを以下のようにちょっとカスタマイズしました。
最後の画像まで選択され、最初に戻る前にcallbackReset関数を呼ぶようにカスタマイズ。
callbackReset関数内で再度画像をランダムに呼出してsetImagesを呼ぶことにより画像を変更する。
==== JS部分
$().ready ( function() {
var imgA = './images/samplea.png';
var imgC = './images/samplec.png';
var imgBs = new Array();
imgBs[0] = './images/sample1.png';
imgBs[1] = './images/sample2.png';
imgBs[2] = './images/sample3.png';
imgBs[3] = './images/sample4.png';
imgBs[4] = './images/sample5.png';
var imgB = setImgB();
var ctrl = $('#test').bgSwitcher ({
images : [ imgA, imgB[0], imgB[1], imgC ],
interval : 1000,
fadeSpeed : 1000,
callbackReset : function() {
// 画像を再設定(プラグイン内からの呼び出し)
// 引数は画像パス配列と変更したいindex
// この場合は1,2番目の画像を入れ替える
// setImgB()はランダムに抽出した2枚分の配列を返してくる関数
ctrl.setImages ( setImgB(), new Array(1,2) );
}
},true ).data('bgSwitcher');
function setImgB() {
var imgs = new Array();
var n1 = Math.floor(Math.random()*imgBs.length);
while ( true ) {
var n2 = Math.floor(Math.random()*imgBs.length);
if ( n1 != n2 )
break;
}
imgs[0] = imgBs[n1];
imgs[1] = imgBs[n2];
return imgs;
}
});
LancerVIIさま
前回の質問から気にかけていただいていたなんて・・ありがとうございます。
bgSwitcherを使えたら一番の理想型だったので大変感激です!
ついに完成いたしました(涙)
あれからいろんなJSを探してみたり、本を買って読んでみたりしていたのですが
やはりどうしてもうまくいかず、再度投稿することになってしまったのです。
※でも副作用効果でJSプログラムに馴染めることが出来ました^^
重ねてお礼申し上げますが、貴重なお時間を使って頂き本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指定時間になったら、WEBサイト...
-
フォームが空欄の時にフォーム...
-
Cookieに保存されない
-
ボタンを押したあとに画像を表...
-
二次元配列の全要素の全要素を...
-
初心者です。gulpでコンパイル...
-
HTMLタグに複数のクラスを設定...
-
フロントエンドフレームワーク...
-
sessionStorageを調べています。
-
jsで診断コンテンツのページ内...
-
メールフォームの日付入力フォ...
-
disabled プロパティが表示され...
-
出発駅A、到着駅Bを選択すると...
-
特定の文字列を複数抜き出した...
-
ジャバスクリプトについて。
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
var exports = exports || {}; ...
-
変数名をどのようにつけるのが...
-
HTMLで作った時報アプリが動き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openで値の渡し方を教え...
-
jQueryでサーバー上のファイル...
-
【jQuery】複数の画像の読み込...
-
複数のバナーをリロードする度...
-
jQueryで画像を重ねる
-
一定時間ごとにgif画像の切...
-
画像をクリックすると別ウイン...
-
JavaScriptで画面サイズによっ...
-
HTMLページ内のタグに対しての...
-
【javascript】ロールオーバー...
-
HPに複数の画像をクリックで切...
-
JavaScriptで画像置換えてクリ...
-
画像と文字を同時に切り替えたい
-
リンク切の場合リンクしない
-
画像の入れ替え
-
連続したURLへのwindow.openの...
-
javascriptによるランダム画像...
-
複数のボールの落下、バウンド...
-
戻り読みの代わりとなる正規表...
-
outlook2010の不具合で困ってい...
おすすめ情報