アフィリエイト広告を利用しています

ファンブログにスライドショーを設置する

投稿日 : 2018.07.03

はじめに

ブログにスライドショー(カルーセルやスライダーと呼ばれたりする)を設置したいことがあると思いますが、今回は ファンブログで、そのスライドショーを作成する方法 をご説明します。

使用するプラグインは「 slick.js 」です。とても簡単にスライドショーが作れるプラグインです。レスポンシブ対応の設定も簡単で評価が高いです。

slickで作成したスライドショーのサンプル画像

このslick.jsを jsDelivr 」から読み込んで使用 します。

また、slick.jsは jQueryプラグインなのでjQueryを先に読み込んでおく 必要がありますが、その手順は 以前の記事 に説明がありますので、そちらを参考にしてみてください。

1.jsDelivrからslickを読み込むHTMLを取得してテンプレートに追加する

jsDelivrのサイトトップページ

まずは、jsDelivrのサイトに行きます。

slickを検索する

検索フォームに 「slick」と入力して検索 します。

フォームの下に検索結果がリストアップされるので、「slick-carousel」という名前の項目を探してタイトルをクリックします。

トグルボタンを見えるようにスクロール

slickのページが表示されたら、トグルボタンが見えるか確認してください。ウィンドウサイズによってはトグルボタンが隠れてしまっていることがあります。

ファイルを選択するのにトグルボタンが必要 なので、見えない場合は、水平スクロールバーで表示させてください。

ディレクトリを展開する

「slick」をクリックして、 目的のディレクトリを展開 します。

ファイルを選択する

目的のディレクトリが展開されたら、 ブログで読み込みたいファイルを選択 します。

「slick.css」「slick.min.js」「slick-theme.css」の3つを読み込みたい ので、それぞれのトグルボタンをクリックしてオンにしてください。

slickで使用されるローダー画像やフォントファイルは、slick-theme.cssから自動で読み込まれるように指定されているので、選択する必要はありません。

ファイルを選択すると、「Selected files」と書かれているリストに追加されます。

HTMLを表示するページに移動

「SHOW & CONFIGURE ALL LINKS」というボタンをクリック して、HTMLを表示するページに移動します。

読み込むためのHTMLを保存する

選択したファイルのページが表示されたら、上部にある 「HTML output」を選択 してください。これを選択しないとHTML表記にならずに単なるURLが表示された状態のままになります。

任意で「Auto-optimaization」を選択 してください。これは、ファイルの軽量化のために未圧縮ファイルをjsDelivrが圧縮してくれる機能です。

圧縮とは、ファイル内のスペースや改行を取り除いたり、同じ種類のファイルであれば統合して1つのファイルにまとめたりといった処理のことです。必須ではありませんが、選択しておくといいと思います。

選択したファイルがHTML表記になったことを確認したら 「COPY ALL」というボタンをクリックして、そのHTMLをクリップボードにコピー します。

ファンブログのHTML編集画面が別タブなどに表示されているのであれば、そのままペーストして追加してもいいと思いますが、そうでないなら、 一時的にテキストファイルを作成してコピペして控えておく といいです。

「COPY ALL」すると、その同じ種類のファイルのHTMLが一度にコピーされるので、一つ一つコピペするより便利です。

ファンブログのテンプレートのHTMLに追加する

ファンブログのHTML編集画面に戻って、先ほど控えておいたHTMLをコピペして追加します。

「slick.min.js」の追加場所は、jQueryの読み込みの後 です。まだjQueryの読み込み指定を行っていないのであれば、 こちらの記事 を参考にして追加してください。作業内容はここで説明していることとほぼ同じで、jsDelivrからjQueryの読み込みHTMLを取得してコピペしているだけです。

スタイルシート(拡張子が.css)の読み込みはjQueryの前でも大丈夫です。

HTMLを追加したら、 「保存」ボタンをクリックして編集内容を保存 してください。

2.slickでスライドショーを作成する

必要な3つの作業

スライドショーを作成するには次の3つの作業を行います。

  1. HTMLでスライドショーの構成を記述する
  2. jQueryとslickでスライドショーとして動作させる
  3. スタイルシートで幅などのスタイルを指定する

2−1.HTMLでスライドショーの構成を記述する

まずは、 スライドショーの枠組みをHTMLで作成 します。とても簡単に記述できます。

基本的には、次のような構成になります。

HTML
<div id="slideshow">
	<div><img src="スライド画像のURL"></div>
	<div><img src="スライド画像のURL"></div>
	<div><img src="スライド画像のURL"></div>
	<div><img src="スライド画像のURL"></div>
	<div><img src="スライド画像のURL"></div>
</div> 
 

各スライドをラッパーで囲んでいるだけ です。ラッパーにはjQueryなどから識別するための IDやクラス名 をつけておきます。

ポイントは、 <ul>や<ol>などのリストではなく、汎用タグの<div>を使用している ところです。

slickでは、スライドショーを作成するときに、ラッパーと各スライドの間に、div要素が2つ追加される仕様になっています。

なので例えば<ul>タグで記述すると、次のような形になってしまいます。

HTML
<ul>
	<div>
		<div>
			<li>スライド1</li>
			<li>スライド2</li>
			<li>スライド3</li>
		</div>
	</div>
</ul>

HTML5では、<ul>や<ol>の子要素に<div>は認められていない ようです。 こちらのサイト でHTML5の親要素と子要素の対応関係が調べられます。

なので、 リストではなく汎用タグで記述する といいと思います。

2−2.jQueryとslickでスライドショーとして動作させる

HTMLで記述した要素をスライドショーに変身させるには、そのためのスクリプトを記述します。

最低限スライドショーとして動作させるためには、次のように記述します。

最低限のスライドショー
$(document).ready(function(){
	$('#slideshow').slick();
});

「#slideshow」は、先ほど作成したHTMLに記述したラッパー要素のIDを示しています。クラス名をつけた場合は、そのクラス名を指定してください。

スライドショーの各部の説明

slickでは、 デフォルトで「前のスライドボタン」や「次のスライドボタン」が表示される ようになっています。見えない場合は、スタイルシートで調整すると見えたりするので後で説明します。

この設定では、自動でスライドを切り替えたり、ドットで表示されるスライドナビゲーション(ページングのように、表示したいスライドに対応したドットをクリックして切り替える)の表示はしません。

自動でスライドを切り替えたり、ドットナビを表示する には次のように記述します。

自動切り替えとドットナビの表示
$(document).ready(function(){
	$('#slideshow').slick({
		autoplay: true,
		dots: true
	});
});

「autoplay」オプションに「true」を指定すると、スライドが自動で切り替わります。

「dots」オプションに「true」を指定すると、ドットナビが表示されます。

また、デフォルトでは横にスライドして切り替わりますが、 じわっとフェードして切り替わるようにする には、次のように記述します。

じわっとフェードして切り替え
$(document).ready(function(){
	$('#slideshow').slick({
		autoplay: true,
		dots: true,
		fade: true
	});
});

「fade」オプションを追加しています。「true」を指定するとフェードして切り替わります。

上記のスクリプトを参考にするか、そのままコピペして、 javascriptファイルを作成 してください。拡張子は「.js」で保存します。HTMLに直接記述する方法もあります。

作成したjavascriptファイルをファンブログにアップして、外部ファイルとして読み込む とスライドショーとして動作すると思います。

アップして読み込む手順は、 こちらの記事 で説明しているので、参考にしてみてください。

2−3.スタイルシートで幅などのスタイルを指定する

HTMLを記述して、JavaScriptでスライドショーとして動作させれば、最低限のスライドショーは完成しています。

ただ、表示に少し問題があるかもしれません。

「前のスライドボタン」や「次のスライドボタン」が見えていなかったり、ドットナビの表示位置がおかしかったりすることがあります。

このようなときは、 スタイルシートで正しく表示されるように調整 します。

「前のスライドボタン」や「次のスライドボタン」が見えない場合は、スライドショーの幅が表示領域いっぱいになっていて、 ナビボタンがその外側に表示されていて見えない ことがあります。

このような場合は、ラッパー要素の幅を調整することで表示できます。

スライドショーの幅調整
#slideshow {
	width: 94%;
}

また、 デフォルトでナビボタンの前景色が白なので、ページの背景が白いと見えない です。

次のように指定するとナビの色を変えられます。

ナビの色を変える

#slideshow .slick-prev:before,
#slideshow .slick-next:before {
	color: lightgray;
}

「.slick-prev」や「.slick-next」の「before疑似要素」に「←」や「→」の文字が指定されていて、slickが独自のフォントを使って、その文字の見た目をボタンのように変えています。色は背景ではなく文字についています。

なので、 「before疑似要素」の背景色ではなく前景色を変えてあげることで、ナビボタンの色を変えられます 。スタイルシートでは「color」プロパティです。

また、ドットナビの表示位置がおかしいことがありますが、これは、ドットナビは「ul」要素で記述される仕様になっているのですが、ページのスタイルで「ul」要素の位置やマージンなどを指定していると表示がおかしくなったりすることがあるようです。

なので、表示がおかしい場合は、 スライドショー内の「ul」要素や「li」要素のスタイル指定を確認 してみるといいと思います。

コメント一覧

コメントを書く

必須 :

:

必須 :

必須 : captcha 画像の中の文字を半角で入力してください。

ブログオーナーが承認したコメントのみ表示されます。

トラックバックURL

https://fanblogs.jp/tb/7843457

ブログオーナーが承認したトラックバックのみ表示されます。

トラックバック一覧

×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: