2021.12.4|JavaScript(jQuery)

画像がスライドする綺麗なスライダーjQuery「bxSlider」の設定方法

画像がスライドする綺麗なスライダー

ホームページの画像を右から左にスライドショーをさせたいとき、jQueryライブラリを使うことによって、画像をスライドショーさせることができます。

画像がスライドする綺麗なスライダーを表示させるjQueryプラグイン「bxSlider Plugin」の設定方法を解説します。

「bxSlider」のプラグインは、ファイル容量が小さい設計で出来ていて、レスポンシブ・デザインにも対応可能なので、各種スマートフォンやタブレットでも横幅に合わせてコンテンツのサイズを自動的に調整してくれます。

画像がスライドする綺麗なスライダー表示させる設定方法

1.jQueryライブラリをダウンロード

下記からJavaScriptライブラリ、のダウンロードを行ってください。
jqueryライブラリダウンロード
bxSlider Pluginダウンロード

2.html、css、JavaScriptファイルを作成

html、css、JavaScriptファイルを作成します。

htmlファイルに記述
<ul class="bxslider">
  <li><img src="/sample/007/img/magazine01.jpg" /></li>
  <li><img src="/sample/007/img/magazine02.jpg" /></li>
  <li><img src="/sample/007/img/magazine01.jpg" /></li>
  <li><img src="/sample/007/img/magazine02.jpg" /></li>
</ul>
cssファイルに記述
/** RESET AND LAYOUT
===================================*/

.bx-wrapper {
	position: relative;
	margin: 0 auto 60px;
	padding: 0;
	*zoom: 1;
}

.bx-wrapper img {
	max-width: 100%;
	display: block;
}

/** THEME
===================================*/

.bx-wrapper .bx-viewport {
	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	border:  5px solid #fff;
	left: -5px;
	background: #fff;
	
	/*fix other elements on the page moving (on Chrome)*/
	-webkit-transform: translatez(0);
	-moz-transform: translatez(0);
    	-ms-transform: translatez(0);
    	-o-transform: translatez(0);
    	transform: translatez(0);
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	bottom: -30px;
	width: 100%;
}

/* LOADER */

.bx-wrapper .bx-loading {
	min-height: 50px;
	background: url(/sample/007/img/bx_loader.gif) center center no-repeat #fff;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2000;
}

/* PAGER */

.bx-wrapper .bx-pager {
	text-align: center;
	font-size: .85em;
	font-family: Arial;
	font-weight: bold;
	color: #666;
	padding-top: 20px;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
	*zoom: 1;
	*display: inline;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	background: #666;
	text-indent: -9999px;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	outline: 0;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #000;
}

/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev {
	left: 10px;
	background: url(/sample/007/img/controls.png) no-repeat 0 -32px;
}

.bx-wrapper .bx-next {
	right: 10px;
	background: url(/sample/007/img/controls.png) no-repeat -43px -32px;
}

.bx-wrapper .bx-prev:hover {
	background-position: 0 0;
}

.bx-wrapper .bx-next:hover {
	background-position: -43px 0;
}

.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	outline: 0;
	width: 32px;
	height: 32px;
	text-indent: -9999px;
	z-index: 9999;
}

.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

/* AUTO CONTROLS (START / STOP) */

.bx-wrapper .bx-controls-auto {
	text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
	display: block;
	text-indent: -9999px;
	width: 10px;
	height: 11px;
	outline: 0;
	background: url(/sample/007/img/controls.png) -86px -11px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
	background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
	display: block;
	text-indent: -9999px;
	width: 9px;
	height: 11px;
	outline: 0;
	background: url(/sample/007/img/controls.png) -86px -44px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
	background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	text-align: left;
	width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
	right: 0;
	width: 35px;
}

/* IMAGE CAPTIONS */

.bx-wrapper .bx-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #666\9;
	background: rgba(80, 80, 80, 0.75);
	width: 100%;
}

.bx-wrapper .bx-caption span {
	color: #fff;
	font-family: Arial;
	display: block;
	font-size: .85em;
	padding: 10px;
}

3.htmlファイル内に記述

「JavaScript」ファイルへのディレクトリをメタタグに記述します。
※この時メタタグ内にオプションの設定も記述します。

htmlファイルにJavaScriptの記述
<meta charset="UTF-8">
<title>画像がスライドする綺麗なスライダー「bxSlider」の設定方法|Webデザイナーブログ</title>
<meta name="description" content="jQueryを使った簡単に設定できて綺麗なスライダー jQuery「bxslider」のご紹介を致します。">
<meta name="keywords" content="スクロール,ホームページ作成方法,jquery.bxslider,スクリプト,スライダー,簡単">
<meta name="robots" content="all">
<link rel="stylesheet" type="text/css" href="/sample/007/base.css" media="all" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="/sample/007/jquery.bxslider.min.js"></script>
<script>
$(document).ready(function(){
  $('.bxslider').bxSlider();
});
</script>

4.スクリプトオプション

メタタグ内に記述するスクリプトオプションによって要素が変わります。

レスポンシブに対応させない表示
<script>
$(function() {
    $('#sample').bxSlider({
        responsive: false
    });
});
</script>
標準表示
<script>
$(function() {
    $('#sample').bxSlider({
        ticker: true,
        minSlides: 2,
        maxSlides: 3,
        slideWidth: 320,
        slideMargin: 10,
        tickerHover: true,
        speed: 30000
    });
});
</script>
ページ送りを表示
<script>
$(function() {
    $('#sample').bxSlider({
        pagerType: 'short',
        pagerShortSeparator: ' - '
    });
});
</script>

実装サンプル

実装サンプルを作りましたのでこちらでも確認してみてください。
スライダーアクション デモ

まとめ

以上で設定完了となりますが、簡単に設定ができますね。
「bxSlider」のプラグインは、オプションが沢山あり、色んな要素の設定ができます。
画像スライダーのjQueryプラグインは沢山ありますが、プラグインによってはパフォーマンスが悪かったりレスポンシブ・デザインに対応が出来ていないプラグインも多いのでどんな機能が使えるかなど、最初に性能を調べてからどのプラグインにするかを選択した方が良いです。