Webページを作成しているのですが、JavaScriptで指定フォルダ内の画像をスライドショー形式で表示したいと思って、以下のコードを書いたのですが、どうも、上手く動作しないです。
おそらく最後の
$('#rotatingimage').fadeOut(1000,function(){
$(this).attr('src',images[currentImage].src);
$(this).fadeIn();
}
が上手く動いていないと思うのですが、よく分かりません。
どなたか、分かる方いらっしゃいましたら、教えて頂けると助かります。
よろしくお願い致します。
<script type='text/javascript'>
var images=new Array();
images[0]='images/1.jpg';
images[1]='images/2.jpg';
images[2]='images/3.jpg';
images[3]='images/4.jpg';
var currentImage = 0;
var preloaded=false;
var preloading = false;
function preload(){
preloading=true;
for(var i=0; i<images.length; i++){
var img = new Image();
img.src=images[i];
images[i] = img;
}
preloaded=true;
}
function animateImages(){
// if already preloading, we just want to return nothing
if(!preloaded && preloading) return;
// if not preloaded, we want to preload
if(!preloaded) preload();
// considering we have already loaded stuffs
currentImage++;
currentImage = currentImage % 4;
$('#rotatingimage').fadeOut(1000,function(){
$(this).attr('src',images[currentImage].src);
$(this).fadeIn();
}
);
}
</script>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
勝手にjQueryだと思い込んで↓でどうでしょう。
3秒ごとに永久に変わり続けます
(行頭の全角空白は取り除いてください)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>gomi</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1.5");</script>
<script type="text/javascript">
$(function(){
var images=new Array();
images[0]='images/1.jpg';
images[1]='images/2.jpg';
images[2]='images/3.jpg';
images[3]='images/4.jpg';
var currentImage = 0;
var preloaded = false;
var preloading = false;
function preload(){
preloading=true;
for(var i=0; i<images.length; i++){
var img = new Image();
img.src=images[i];
images[i] = img;
}
preloaded=true;
}
function animateImages(){
if(!preloaded && preloading) return;
if(!preloaded) preload();
$('#rotatingimage').fadeOut(1000,function(){
currentImage++;
currentImage = currentImage % 4;
$(this).attr('src',images[currentImage].src);
$(this).fadeIn();
console.log($(this).attr('src'));
});
}
var timer = window.setInterval(animateImages,3000);
});
</script>
</head>
<body>
<div>
<img id="rotatingimage" src="images/1.jpg" alt="">
</div>
</body>
</html>
No.1
- 回答日時:
他の部分が不明なので、よくわかりませんが…
1)$の記述からライブラリを利用していると推測されますが、
それらライブラリはロードされていますか?
(ご提示部分からではわかりません)
2)ご指摘の部分は、function animateImagesの中に記述されていますが、
animateImagesはどのようにして実行されていますか?
(ご提示部分だけだと実行されません)
また、そのタイミングは?(HTMLのロード後でしょうか)
3)タイトルが「スライドショー」となっていますが、順次画像を変えるのなら
繰り返して処理することが必要ですが、その指定は行なっていますか?
(繰り返されるのはanimateImageなのでしょうか?)
(ご提示内容では、繰返しだけでなく一度も実行されません)
その他、あまり大したことではありませんが…
4)animateImageを繰り返すとするなら、初期設定的な処理であるpreloadの
呼出しや判断はその外側で一度行なっておけば充分と思われます。
5)繰り返しの間隔などを単独に決めると、fadeIn/Outの実行時間と重複して
しまう可能性がありますが、そのあたりは回避できていますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像の座標位置取得
-
this.src等のthisについて
-
【jQuery】複数の画像の読み込...
-
一定時間で画像を変更するスク...
-
HPトップに画像をランダム表...
-
divの背景画像を、徐々に表示さ...
-
タイマーをデジタル時計風にす...
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
jqueryのsortableで一部ソート...
-
removeEventListenerについて
-
Slick.jsのオプションrtlについて
-
JavaScriptで変更した属性の元...
-
どの<li><a> が押されたか判別...
-
複数画像のランダム複数表示(...
-
クリックで色変更後に既に変更...
-
JSPでの画像ファイル表示
-
読み込んだQRコードをフォーム...
-
MFCで画像を表示させているので...
-
質問に答えていくと、回答によ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openで値の渡し方を教え...
-
jQueryでサーバー上のファイル...
-
【jQuery】複数の画像の読み込...
-
複数のバナーをリロードする度...
-
jQueryで画像を重ねる
-
一定時間ごとにgif画像の切...
-
画像をクリックすると別ウイン...
-
JavaScriptで画面サイズによっ...
-
HTMLページ内のタグに対しての...
-
【javascript】ロールオーバー...
-
HPに複数の画像をクリックで切...
-
連続したURLへのwindow.openの...
-
リンク切の場合リンクしない
-
画像と文字を同時に切り替えたい
-
JavaScriptで画像置換えてクリ...
-
画像の入れ替え
-
javascriptによるランダム画像...
-
<img>タグの alt= の値をキャプ...
-
outlook2010の不具合で困ってい...
-
複数のボールの落下、バウンド...
おすすめ情報