画面サイズにスライド画像をフィットさせる方法がうまく行かず困っております。
どの画面サイズにしてもスライドしている画像は高さも横も(横が長い場合は切れてしまってOK)ぴったりに収めたいです。
例)http://sugimotoknife.com/
ソースを見ても全く分かりません。
どなたかわかる方いらっしゃいますでしょうか。
画像の下には別の要素が並んでいるようにしたいです。
No.1ベストアンサー
- 回答日時:
こんにちは、サンプル作ってみました。
参考にしてみてください。
(Chrome、Safari動作確認済み)
*必要な素材、及び階層
index.html
jquery-1.11.3.min.js
images(フォルダ) - slide01.jpg ~ slide05.jpg(計五枚の画像ファイル)
画像のサイズにかんしましては、任意の要素にbackground-image:coverでぴったりフィットしますよ。
ただし、親要素にはwindowの幅を取得してCSSで与えてください。
頑張ってくださいね(^^)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>imageSlide</title>
<style>
* {
margin: 0px;
padding: 0px;
}
</style>
<script type="text/javascript" src="./jquery-1.11.3.min.js"></script>
</head>
<body>
<div class="slider-wrapper">
</div>
<script>
var Slider = function(element) {
this.count = 0;
this.speed = 2500;
this.innerDuration = this.speed / 2000 + "s";
this.dataset = ["slide01.jpg" , "slide02.jpg" , "slide03.jpg" , "slide04.jpg" , "slide05.jpg"]; //任意の数と名前の画像ファイルを格納
this.width = $(window).width() + "px"; //windowの幅を取得
this.height = $(window).height() + "px"; //windowの高さを取得
this.wrapper = $("." + element);
this.wrapper.append("<div class='inner'></div>");
this.wrapper.css("width" , this.width);
this.wrapper.css("height" , this.height);
this.wrapper.css("border" , "solid 0px white");
this.wrapper.css("overflow" , "hidden");
this.wrapper.css("-webkit-box-sizing" , "border-box");
this.wrapper.css("-moz-box-sizing" , "border-box");
this.wrapper.css("-o-box-sizing" , "border-box");
this.wrapper.css("-ms-box-sizing" , "border-box");
this.wrapper.css("box-sizing" , "border-box");
this.inner = $(".inner");
this.inner.css("width" , "100%");
this.inner.css("height" , "100%");
this.inner.css("background-image" , "url('./images/slide01.jpg')"); //デフォルトではslide01.jpg
//ここから下のCSS重要
this.inner.css("background-repeat" , "no-repeat");
this.inner.css("background-position" , "center");
this.inner.css("backgroundSize" , "cover");
this.inner.css("-webkit-transition" , "all\t" + this.innerDuration);
this.inner.css("-moz-transition" , "all\t" + this.innerDuration);
this.inner.css("-o-transition" , "all\t" + this.innerDuration);
this.inner.css("-ms-transition" , "all\t" + this.innerDuration);
this.inner.css("transition" , "all\t" + this.innerDuration);
this.start();
this.resize();
}
Slider.prototype.start = function() {
var count = this.count;
var speed = this.speed;
var dataset = this.dataset;
var inner = this.inner;
this.wrapper.animate({"borderWidth": "15px"} , 500 , function() {
window.setInterval(function() {
count += 1;
count %= dataset.length; //countを配列の要素の数で割った余り(これにより繰り返しを実現する)
inner.css("background-image" , "url('./images/" + dataset[count] + "')");
} , speed);
});
};
Slider.prototype.resize = function() {
var wrapper = this.wrapper;
$(window).resize(function() {
wrapper.css("width" , $(this).width() + "px");
wrapper.css("height" , $(this).height() + "px");
});
};
var slider = new Slider("slider-wrapper");
</script>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- Windows 10 フォルダ内の全ての画像を矢印キーでスライドできるようにしたい 1 2022/10/21 12:53
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- ホームページ作成・プログラミング グリッドレイアウトHTMLとCSS 1 2023/02/22 02:36
- その他(Microsoft Office) エクセルでの作成データをモニター画面内に収めたい。 1 2022/04/23 11:52
- Android(アンドロイド) SAMSUNGのスマホは英数の場合はフリックは使えないのですか? 今までSHARPとAppleしか使 5 2023/06/07 18:36
- Instagram Instagramの投稿を、16:9の画像サイズにして、その画像真ん中の、自分のページを見たときの各 0 2023/08/08 00:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Q&A掲示板の入力フォームに文字...
-
確認ダイアログを次からは表示...
-
Bootstrap Javascriptでモーダル
-
エクセルで、日付を入力すると...
-
「PC Helpsoft Driver Updated...
-
ユーザーフォームをショートカ...
-
VBA エンターキーでイベントに...
-
レジ返品交換について(時間がか...
-
アクセスVBAのMe!と[ ]
-
「ご処理進めて頂きますようお...
-
エクセルVBAでセル番地を指定し...
-
Excelで、ボタンにコメントをつ...
-
セックスレスの既婚女性は自慰...
-
Excelシート上のマクロを登録し...
-
【Excel】特定の文字を含むセル...
-
メルカリのメルカードで買い物...
-
インタラクティブの反対語は?
-
findは動くがfindnextがマクロ...
-
読み方教えてください。
-
エクセルVBAで、MsgBox やInput...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動画の上に広告をオーバーレイ...
-
CSSでreadonlyの機能はあり...
-
jQueryでのドラッグアンドドロ...
-
formのsubmitを押すとモーダル...
-
Q&A掲示板の入力フォームに文字...
-
jqueryを使ったスムーススクロ...
-
確認ダイアログを次からは表示...
-
javascriptで複数の表示・非表...
-
javascriptのエラーで質問です。
-
特定の条件のHTML要素を一括で...
-
macかwinか判別しスタイルシー...
-
【JavaScript】検索がヒットし...
-
jQueryのSlickで矢印アイコンが...
-
javascriptでの(-)ハイフンの処...
-
クリックすると、色が変わるよ...
-
時間帯によってclass名を変更し...
-
フォームで「パスワード(確認...
-
3重のクォーテーション
-
SITEINFOの書き方について
-
【至急!!】Jqueryを使った下記...
おすすめ情報