JavaScriptで横スクロールのスライドショーを実装する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptで横スクロールのスライドショーを実装する方法について現役エンジニアが解説しています。スクロールによるスライドショーを作成する方法としてjQueryとjQueryのプラグインを使います。今回は高度な動作を実現できるSwiperを使って作成します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

JavaScriptで横スクロールのスライドショーを実装する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptで横スクロールのスライドショーを実装する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

横スクロールのスライドショーを実装する方法

今回は、色々なHPを見ていると良く見かける、画像などが横にスライドしている表現(※Sliderと言われます)。それを実装してみたいと思います。

一見難しそうですが、実はそんなに難しくなく実装が出来るんです。jQueryでも幾つかのプラグインもありますし、利用しないで実装する方法もあります。

今回は、jQueryを利用した簡単な実装をご紹介冴えていただきたと思います。

スライドショーに必要なjQuery

かなり多くのプラグインが用意されています。どれを使うか迷ってしまう程です。とりあえず、有名所を一覧にしてみたので参考にしてみて下さい。物によっては、JQueryだけではなく、BootStrapを必要とするものもありますので注意して下さい。

  • slick:最もよく使われるシンプルかつ大抵の機能は利用できるプラグイン
  • bxSlider:レスポンシブかつ高度な動きのプラグイン
  • FlexSlider:レスポンシブかつ超高性能なプラグイン
  • Swiper:最近人気の高度な動きを表現できるプラグイン
  • Glide:オリジナリティある動きのプラグイン
  • Felicity:レスポンシブ対応でフリック対応しているプラグイン
  • Siema:軽量なプラグイン

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

実際に書いてみよう

今回は、「Swiper」を利用したサンプルを紹介します。

※今回は、CDNで書いています。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css"/>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css"/>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<title>JavaScriptで横スクロールのスライドショーを実装する方法</title>
</head>

<body>
<h1>JavaScriptで横スクロールのスライドショーを実装する方法</h1>
<div id="slick01">
<div><a href="#content01"><img src="img/001.JPG" alt="アイキャッチ画像01"></a></div>
<div><a href="#content02"><img src="img/002.JPG" alt="アイキャッチ画像02"></a></div>
<div><a href="#content03"><img src="img/003.JPG" alt="アイキャッチ画像03"></a></div>
<div><a href="#content04"><img src="img/004.JPG" alt="アイキャッチ画像04"></a></div>
</div>

<script type="text/javascript">
$(function(){
$('#slick01').slick({
autoplay: true, //自動再生
dots: true, //ドットインジケータの表示
});
});
</script>
</body>
</html>

 

まとめ

とても簡単に横スクロールのスライドショーを表現出来ました。

今回利用した「Swiper」も沢山のパラメータがあり、色々な表現が可能です。それぞれのプラグインも色々とありますので、色々と試して自分に合ったものを見つけてみてください。

筆者プロフィール

小宮山晃史(こみやまこうじ)

現在はOracle系システムの導入コンサルに勤め、仕事でコーディングをする機会は少なくなくなっているが、ライフワークで数多くの言語を勉強中。

iphoneのアプリ開発やWEBサーバの構築など幅広く挑戦しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。