現在画像の差し替え方法で悩んでおります…。
サイト上にある「dog.jpg」という画像があるのですが、これをマウスで100px下にスクロール下場合には、「cat.jpg」という別の画像に表示を切り替えたいのですが方法が分らず、調べてみるのですが指定ピクセルで出現させる方法はあるのですが、差し替えるという情報が見つからず相談をさせて頂きました。
出来ればフワッと切り替われば嬉しいのですが…。
スクロールの際の画像切り替え方法についてアドバイスをいただけないでしょうか。
お詳しい方宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは。
質問は理解できましたが、情報が足りないのでソースは想像です。
まず、100pxスクロールしたらということで、どこから100pxなのかわからないので、とりあえずページトップから100pxスクロールした場合とします。
jQueryを使用しますので、jQuery本体は別途読み込ませてください。
●方法1:
100px以上スクロールしたら画像が変わる。フェードなし。
フェードイン・アウトがないので、面白みは無いです。imgタグのファイル名を切り替えるので、ソース的には素直。
【HTML】
<div class="imgbox"><img src="dog.jpg"></div>
【jQuery】
<script>
$(window).scroll(function(){
var st = $(window).scrollTop();
if(st > 100){
$(".imgbox img").attr("src", "cat.jpg");
}else{
$(".imgbox img").attr("src", "dog.jpg");
}
});
</script>
●方法2:
100px以上スクロールしたら<img>が透過。それにより親要素<div class="imgbox">の背景画像が出てくる。CSS3によるフェードあり。
たぶん、見た目的にはこちらのほうが良いと思いますが、ソース的にはちょっとねじれ感はあります。
【HTML】
<div class="imgbox"><img src="dog.jpg"></div>
【CSS】
.imgbox{
width:120px;/*適宜画像サイズ*/
height: 60px;/*適宜画像サイズ*/
background: url("cat.jpg") no-repeat;
}
.imgbox img{transition: all 1s ease;}
.imgbox img.fade{opacity:0;}
【jQuery】
<script>
$(window).scroll(function(){
var st = $(window).scrollTop();
if(st > 100){
$(".imgbox img").addClass("fade");
}else{
$(".imgbox img").removeClass("fade");
}
});
</script>
---
他に1の方に.fadeOut().fadeIn()など使ったものも考えたのですが、jQueryでスライダーでなく<img>切り替えのエフェクトをつけるとあまり綺麗にできなかったので、上記のようなものになりました。
あとは最初にHTMLで<img>を2つとも書いて、表示非表示切り替える方法もあると思います。
ちなみに上記2つは、スクロールで上に戻ると(100px以下になると)再度元画像に戻る仕様です。
もし切り替わったままが良い場合はjQuery内のelse{~~}の部分を削除してください。
頑張ってください。
fufufunofufufu様
早速のアドバイス有難う御座います。
記載頂きました内容で動作を試してみたのですが、私の環境ですと何れの設定でも動作を確認することが出来ませんでした…。TT
使っているjQueryに問題があるのかと、色々変更を行ったのですが画像がさし変わってくれませんでした。何か特別な設定が必要になりますでしょうか?
何度も申し訳ありません、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- その他(パソコン・周辺機器) ウインドウズ10のログオフ画面に現れる画像について教えて下さい ログオフをしてログイン待ちの画面にな 1 2023/05/19 21:37
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- ホームページ作成・プログラミング さくらサーバーに置いているホームページを改修したいです 2 2022/11/06 17:13
- ノートパソコン サーフェスというノートパソコンを 6年ほど使っています。 パソコンに無知で、音声について教えて頂きた 1 2023/04/17 08:06
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- モニター・ディスプレイ PCとプレステで、モニターの表示を切り替えたい 1 2022/05/11 23:55
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンをセル内一杯に表示させ...
-
htmlで画像を2個ずつ並べていき...
-
HTMLのIMAGEに。。
-
リンクを知らせる手のマークが...
-
クリッカブルマップがきかない!?
-
HTMLでボタンを横に2つ並べる方法
-
画像をクリックして同じページ...
-
HTMLに横型ゲージを表示させたい
-
画像リンクの周りに線が出ます
-
htmlの文字が縦書きになる
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
【ヒトの神秘】美男美女から何...
-
含む含まないという概念自体の...
-
widthやheightの数値に単位(px...
-
<div id="container">の使いか...
-
<table>の高さ固定。情報増加時...
-
画像イメージの上下左右、欲し...
-
2個のFormを横並びにしたい
-
CSSがなぜかfont-sizeだけ効か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンをセル内一杯に表示させ...
-
リンクを知らせる手のマークが...
-
htmlで画像を2個ずつ並べていき...
-
ポップアップウィンドウのサイ...
-
画像のサイズが変わらない
-
【HTML/CSS】ボタンの枠が伸び...
-
画像の場合のみ、下線を消す方...
-
cssで、チェックボックスの画像...
-
HTMLのIMAGEに。。
-
XML画像データををHTMLで簡単に...
-
画像の横に文字をうまく配置で...
-
table で画像をピッタリとくっ...
-
画像をリンクさせると紫の枠が...
-
レスポンシブ対応のHTML・CSS(...
-
3つの画像を中央に寄せて表示さ...
-
UDP通信を使うチャットプログラ...
-
水面の波紋
-
cssヘッダー画像の下に配置した...
-
画像とテーブルの隙間をなくす。
-
HTMLは、シングルクォートかダ...
おすすめ情報
すみません!!
jqueryのバージョンをまた別のもので試したところ、上手く画像が切り替わるようになりました。
お騒がせして申し訳ありません。
今回アドバイスいただいたコード、とても見やすく初心者の私の勉強になります。
こちらを参考に、色々と理解を深めて行きたいと思います。
今回、とても困り悩んでいました、ご丁寧なアドバイス感謝申し上げます。
本当に有難う御座いました。m(_ _)m