9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】スマホ対応レスポンシブデザイン カルーセルスライダー【jCarouselLite】
こんにちは(・∀・)
jQueryライブラリを使用したサンプルをご紹介します。今回使用するライブラリはjCarouselLiteです。レスポンシブデザインでスマホ・PCどちらにも対応したカルーセルスライダーです。
1. サンプル
HTML
Google Hosted LibrariesからjQuery 1.x snippetを<head>
内に読み込みます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
次のリンク先からファイルをダウンロードします。
ダウンロードボタンをクリックしてVersion 1.1のFull Sourceをクリックします。
コードが表示されたらすべてコピーして名前jcarousellite.jsで保存します。
保存したjcarousellite.jsを<head>
内に同じく読み込みます。
<script src="jcarousellite.js"></script>
<div class="sample-carousel">
<div class="carousel-main">
<div class="any-class-outer">
<div class="any-class">
<ul>
<li><a href="#"><img src="img/1.png" alt=""></a></li>
<li><a href="#"><img src="img/2.png" alt=""></a></li>
<li><a href="#"><img src="img/3.png" alt=""></a></li>
<li><a href="#"><img src="img/4.png" alt=""></a></li>
</ul>
<!--any-class--></div>
<!--any-class-outer--></div>
<!--carousel-main--></div>
<ul class="carousel-btns">
<li class="prev"><</li>
<li class="next">></li>
<!--carousel-btns--></ul>
<!--sample-carousel--></div>
CSS
.sample-carousel .carousel-main {
background: #ccc;
height: 169px;
position: relative;
z-index: 1000;
overflow: hidden;
}
.sample-carousel .carousel-btns {
width: 300px;
margin: 0 auto;
position: relative;
z-index: 1001;
top: -108px;
overflow: hidden;
list-style: none;
display: flex;
justify-content: space-between;
}
.sample-carousel .carousel-btns .prev,
.sample-carousel .carousel-btns .next {
cursor: pointer;
font-size: 24px;
font-family: monospace;
background: rgba(255,255,255,0.5);
}
.sample-carousel .carousel-btns .prev {
width: 40px;
height: 40px;
margin-left: -40px;
padding: 5px 7px 0 10px;
box-sizing: border-box;
}
.sample-carousel .carousel-btns .next {
width: 40px;
height: 40px;
padding: 5px 5px 0 12px;
box-sizing: border-box;
}
.sample-carousel .any-class-outer {
width: 300px;
position: absolute;
left: 50%;
margin-left: -150px;
overflow: hidden;
}
.sample-carousel .any-class li {
width: 300px;
height: 169px;
}
.sample-carousel .any-class li img {
width: 100%;
height: auto;
}
@media (min-width: 769px) {
.sample-carousel .carousel-btns {
width: 900px;
}
.sample-carousel .any-class-outer {
width: 1500px;
position: absolute;
left: 50%;
margin-left: -750px;
}
.sample-carousel .any-class {
width: 1500px;
}
/* ** */}
JavaScript
jcarousellite.jsの先頭に次のコードを追加してください。
$(function() {
$(".any-class").jCarouselLite({
btnNext: ".next",
btnPrev: ".prev"
});
});
Result
ブレークポイントは768px以下がスマホサイト、769px以上でPCサイトです。
2. サンプル
HTML
HTMLはサンプルデモ1と共通です。
CSS
.sample-carousel .carousel-main {
background: #ccc;
height: 169px;
position: relative;
z-index: 1000;
overflow: hidden;
}
.sample-carousel .carousel-btns {
width: 300px;
margin: 0 auto;
position: relative;
z-index: 1001;
top: -108px;
overflow: hidden;
display: flex;
justify-content: space-between;
list-style: none;
}
.sample-carousel .carousel-btns .prev,
.sample-carousel .carousel-btns .next {
cursor: pointer;
font-size: 24px;
font-family: monospace;
background: rgba(255,255,255,0.5);
}
.sample-carousel .carousel-btns .prev {
width: 40px;
height: 40px;
margin-left: -40px;
padding: 5px 7px 0 10px;
box-sizing: border-box;
}
.sample-carousel .carousel-btns .next {
width: 40px;
height: 40px;
padding: 5px 5px 0 12px;
box-sizing: border-box;
}
.sample-carousel .any-class-outer {
width: 300px;
position: absolute;
left: 50%;
margin-left: -150px;
overflow: hidden;
}
.sample-carousel .any-class ul {
list-style: none;
}
.sample-carousel .any-class li img {
width: 100%;
height: auto;
}
@media (min-width: 479px) {
.sample-carousel .carousel-btns {
width: 480px;
}
.sample-carousel .carousel-main {
height: 270px;
}
.sample-carousel .carousel-btns {
width: 480px;
top: -160px;
}
.sample-carousel .any-class-outer {
width: 480px;
position: absolute;
left: 50%;
margin-left: -240px;
}
.sample-carousel .any-class {
width: 480px;
}
/* ** */}
@media (min-width: 769px) {
.sample-carousel .carousel-btns {
width: 960px;
}
.sample-carousel .carousel-main {
height: 540px;
}
.sample-carousel .carousel-btns {
width: 960px;
top: -300px;
}
.sample-carousel .any-class-outer {
width: 960px;
position: absolute;
left: 50%;
margin-left: -480px;
}
.sample-carousel .any-class {
width: 960px;
}
/* ** */}
JavaScript
JavaScriptはサンプルデモ1と共通です。
Result
こちらもブレークポイントは768px以下がスマホサイト、769px以上でPCサイトです。
関連リンク
【slick】スマホ対応レスポンシブデザイン カルーセルスライダー
【simplyScroll v2】スマホ対応レスポンシブデザイン カルーセルスライダー