HTMLの書き方
head終了タグ直前にVegas Background SlideShowのCSSと自作のCSSの2つを読み込みます。
<link rel="stylesheet" type="text/css" href="httpss://cdnjs.cloudflare.com/ajax/libs/vegas/2.4.4/vegas.min.css">
<link rel="stylesheet" type="text/css" href="css/6-1-4.css">
</head>
body内のスライドを表示させたい場所にHTMLを記載します。
<div id="slider"></div>
body 終了タグ直前に jQuery、Vegas Background SlideShow、動きを制御する自作のJS の3 つを読み込みます。
<script src="httpss://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="httpss://cdnjs.cloudflare.com/ajax/libs/vegas/2.4.4/vegas.min.js"></script>
<!--自作のJS-->
<script src="js/6-1-4.js"></script>
</body>
CSSの書き方
#slider {
width: 100%;
height: 100vh; /* スライダー全体の縦幅を画面の高さいっぱい(100vh)にする */
}
JSの書き方
//画像の設定
var windowwidth >= window.innerWidth || document.documentElement.clientWidth || 0;
if (windowwidth > 768){
var responsiveImage = [ //PC用の画像
{ src: './img/img_01.jpg' },
{ src: './img/img_02.jpg' },
{ src: './img/img_03.jpg' }
];
} else {
var responsiveImage = [ //タブレットサイズ(768px)以下用の画像
{ src: './img/img_sp_01.jpg' },
{ src: './img/img_sp_02.jpg' },
{ src: './img/img_sp_03.jpg' }
];
}
//Vegas全体の設定
$('#slider').vegas({
overlay: true, //画像の上に網線やドットのオーバーレイパターン画像を指定。
transition: 'fade2', //切り替わりのアニメーション。https://vegas.jaysalvat.com/documentation/transitions/参照。fade、fade2、slideLeft、slideLeft2、slideRight、slideRight2、slideUp、slideUp2、slideDown、slideDown2、zoomIn、zoomIn2、zoomOut、zoomOut2、swirlLeft、swirlLeft2、swirlRight、swirlRight2、burnburn2、blurblur2、flash、flash2が設定可能。
transitionDuration: 2000, //切り替わりのアニメーション時間をミリ秒単位で設定
delay: 5000, //スライド間の遅延をミリ秒単位で。
animationDuration: 20000, //スライドアニメーション時間をミリ秒単位で設定
animation: 'random', //スライドアニメーションの種類。https://vegas.jaysalvat.com/documentation/transitions/参照。kenburns、kenburnsUp、kenburnsDown、kenburnsRight、kenburnsLeft、kenburnsUpLeft、kenburnsUpRight、kenburnsDownLeft、kenburnsDownRight、randomが設定可能。
slides: responsiveImage, //画像設定を読む
//timer:false, // プログレスバーを非表示したい場合はこのコメントアウトを外してください
});
HTMLの書き方
head終了タグ直前にVegas Background SlideShowのCSSと自作のCSSの2つを読み込みます。
<link rel="stylesheet" type="text/css" href="httpss://cdnjs.cloudflare.com/ajax/libs/vegas/2.4.4/vegas.min.css">
<link rel="stylesheet" type="text/css" href="css/6-1-3.css">
</head>
body内のスライドを表示させたい場所にHTMLを記載します。
<div id="slider"></div>
body 終了タグ直前に jQuery、Vegas Background SlideShow、動きを制御する自作のJS の3 つを読み込みます。
<script src="httpss://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="httpss://cdnjs.cloudflare.com/ajax/libs/vegas/2.4.4/vegas.min.js"></script>
<!--自作のJS-->
<script src="js/6-1-3.js"></script>
</body>
CSSの書き方
#slider {
width: 100%;
height: 100vh; /* スライダー全体の縦幅を画面の高さいっぱい(100vh)にする */
}
JSの書き方
var windowwidth = window.innerWidth || document.documentElement.clientWidth || 0;
if (windowwidth > 768){
var responsiveImage = [ //PC用の画像
{ src: './img/img_01.jpg'},
{ src: './img/img_02.jpg'},
{ src: './img/img_03.jpg'}
];
} else {
var responsiveImage = [ //タブレットサイズ(768px)以下用の画像
{ src: './img/img_sp_01.jpg' },
{ src: './img/img_sp_02.jpg' },
{ src: './img/img_sp_03.jpg' }
];
}
//Vegas全体の設定
$('#slider').vegas({
overlay: true, //画像の上に網線やドットのオーバーレイパターン画像を指定。
transition: 'blur', //切り替わりのアニメーション。https://vegas.jaysalvat.com/documentation/transitions/参照。fade、fade2、slideLeft、slideLeft2、slideRight、slideRight2、slideUp、slideUp2、slideDown、slideDown2、zoomIn、zoomIn2、zoomOut、zoomOut2、swirlLeft、swirlLeft2、swirlRight、swirlRight2、burnburn2、blurblur2、flash、flash2が設定可能。
transitionDuration: 2000, //切り替わりのアニメーション時間をミリ秒単位で設定
delay: 10000, //スライド間の遅延をミリ秒単位で。
animationDuration: 20000, //スライドアニメーション時間をミリ秒単位で設定
animation: 'kenburns', //スライドアニメーションの種類。https://vegas.jaysalvat.com/documentation/transitions/参照。kenburns、kenburnsUp、kenburnsDown、kenburnsRight、kenburnsLeft、kenburnsUpLeft、kenburnsUpRight、kenburnsDownLeft、kenburnsDownRight、randomが設定可能。
slides: responsiveImage, //画像設定を読む
// timer:false, // プログレスバーを非表示したい場合はこのコメントアウトを外してください
});
HTMLの書き方
head終了タグ直前にslickのCSSと自作のCSSの2つを読み込みます。
<link rel="stylesheet" type="text/css" href="httpss://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css">
<link rel="stylesheet" type="text/css" href="css/6-1-2.css">
</head>
body内のスライドを表示させたい場所にHTMLを記載します。
<ul class="slider">
<li class="slider-item slider-item01"></li>
<li class="slider-item slider-item02"></li>
<li class="slider-item slider-item03"></li>
</ul>
body 終了タグ直前に jQuery、slick、動きを制御する自作のJS の3 つを読み込みます。
<script src="httpss://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="httpss://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"><!--自作のJS-->
<script src="js/6-1-2.js"></script>
</body>
CSSの書き方
/*==================================================
スライダーのためのcss
===================================*/
.slider {
position: relative;
z-index: 1;
/* ↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す */
height: 100vh;/* スライダー全体の縦幅を画面の高さいっぱい(100vh)にする */
}
/* 背景画像設定 */
.slider-item01 {
background: url(../img/img_01.jpg);
}
.slider-item02 {
background: url(../img/img_02.jpg);
}
.slider-item03 {
background: url(../img/img_03.jpg);
}
.slider-item {
width: 100%; /* 各スライダー全体の横幅を画面の高さいっぱい(100%)にする */
height: 100vh; /* 各スライダー全体の縦幅を画面の高さいっぱい(100vh)にする */
background-repeat: no-repeat; /* 背景画像をリピートしない */
background-position: center; /* 背景画像の位置を中央に */
background-size: cover; /* 背景画像が.slider-item全体を覆い表示 */
}
/* 矢印の設定 */
.slick-prev,
.slick-next {
position: absolute;
z-index: 3;
top: 42%;
cursor: pointer; /* マウスカーソルを指マークに */
outline: none; /* クリックをしたら出てくる枠線を消す */
border-top: 2px solid #fff; /* 矢印の色 */
border-right: 2px solid #fff; /* 矢印の色 */
height: 25px;
width: 25px;
}
.slick-prev { /* 戻る矢印の位置と形状 */
left: 2.5%;
transform: rotate(-135deg);
}
.slick-next { /* 次へ矢印の位置と形状 */
right: 2.5%;
transform: rotate(45deg);
}
/* ドットナビゲーションの設定 */
.slick-dots {
position: relative;
z-index: 3;
text-align: center;
margin: -50px 0 0 0; /* ドットの位置 */
}
.slick-dots li {
display: inline-block;
margin: 0 5px;
}
.slick-dots button {
color: transparent;
outline: none;
width: 8px; /* ドットボタンのサイズ */
height: 8px; /* ドットボタンのサイズ */
display: block;
border-radius: 50%;
background: #fff; /* ドットボタンの色 */
}
.slick-dots .slick-active button {
background: #333; /* ドットボタンの現在地表示の色 */
}
JSの書き方
$('.slider').slick({
fade: true, //切り替えをフェードで行う。初期値はfalse。
autoplay: true, //自動的に動き出すか。初期値はfalse。
autoplaySpeed: 3000, //次のスライドに切り替わる待ち時間
speed: 1000, //スライドの動きのスピード。初期値は300。
infinite: true, //スライドをループさせるかどうか。初期値はtrue。
slidesToShow: 1, //スライドを画面に3枚見せる
slidesToScroll: 1, //1回のスクロールで3枚の写真を移動して見せる
arrows: true, //左右の矢印あり
prevArrow: '<div class="slick-prev"></div>', //矢印部分PreviewのHTMLを変更
nextArrow: '<div class="slick-next"></div>', //矢印部分NextのHTMLを変更
dots: true, //下部ドットナビゲーションの表示
pauseOnFocus: false, //フォーカスで一時停止を無効
pauseOnHover: false, //マウスホバーで一時停止を無効
pauseOnDotsHover: false, //ドットナビゲーションをマウスホバーで一時停止を無効
});
//スマホ用:スライダーをタッチしても止めずにスライドをさせたい場合
$('.slider').on('touchmove', function(event, slick, currentSlide, nextSlide){
$('.slider').slick('slickPlay');
});
HTMLの書き方
head終了タグ直前にslickのCSSと自作のCSSの2つを読み込みます。
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css">
<link rel="stylesheet" type="text/css" href="css/6-1-1.css">
</head>
body内のスライドを表示させたい場所にHTMLを記載します。
<ul class="slider">
<li class="slider-item slider-item01"></li>
<li class="slider-item slider-item02"></li>
<li class="slider-item slider-item03"></li>
</ul>
body 終了タグ直前に jQuery、slick、動きを制御する自作のJS の3 つを読み込みます。
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<!--自作のJS-->
<script src="js/6-1-1.js"></script>
</body>
CSSの書き方
/*==================================================
スライダーのためのcss
===================================*/
.slider {
position: relative;
z-index: 1;
/* ↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す */
height: 100vh;
/* スライダー全体の縦幅を画面の高さいっぱい(100vh)にする */
}
/* 背景画像設定 */
.slider-item01 {
background: url(../img/img_01.jpg);
}
.slider-item02 {
background:url(../img/img_02.jpg);
}
.slider-item03 {
background: url(../img/img_03.jpg);
}
.slider-item {
width: 100%; /* 各スライダー全体の横幅を画面の高さいっぱい(100%)にする */
height: 100vh; /* 各スライダー全体の縦幅を画面の高さいっぱい(100vh)にする */
background-repeat: no-repeat; /* 背景画像をリピートしない */
background-position: center; /* 背景画像の位置を中央に */
background-size: cover;/* 背景画像が.slider-item全体を覆い表示 */
}
/* 矢印の設定 */
/* 戻る、次へ矢印の位置 */
.slick-prev,
.slick-next {
position: absolute; /* 絶対配置にする */
z-index: 3;
top: 42%;
cursor: pointer; /* マウスカーソルを指マークに */
outline: none; /* クリックをしたら出てくる枠線を消す */
border-top: 2px solid #ccc; /* 矢印の色 */
border-right: 2px solid #ccc;/* 矢印の色 */
height: 25px;
width: 25px;
}
.slick-prev { /* 戻る矢印の位置と形状 */
left: 2.5%;
transform: rotate(-135deg);
}
.slick-next { /* 次へ矢印の位置と形状 */
right: 2.5%;
transform: rotate(45deg);
}
/* ドットナビゲーションの設定 */
.slick-dots {
position: relative;
z-index: 3;
text-align: center;
margin: -50px 0 0 0;
}
.slick-dots li {
display: inline-block;
margin: 0 5px;
}
.slick-dots button {
color: transparent;
outline: none;
width:8px; /* ドットボタンのサイズ */
height:8px; /* ドットボタンのサイズ */
display:block;
border-radius:50%;
background:#ccc; /* ドットボタンの色 */
}
.slick-dots .slick-active button {
background: #333; /* ドットボタンの現在地表示の色 */
}
JSの書き方
$('.slider').slick({
autoplay: true, //自動的に動き出すか。初期値はfalse。
autoplaySpeed: 3000,//次のスライドに切り替わる待ち時間
speed:1000, //スライドの動きのスピード。初期値は300。
infinite: true, //スライドをループさせるかどうか。初期値はtrue。
slidesToShow: 1,//スライドを画面に3枚見せる
slidesToScroll:1,//1回のスクロールで3枚の写真を移動して見せる
arrows: true,//左右の矢印あり
prevArrow: '<div class="slick-prev"></div>', //矢印部分PreviewのHTMLを変更
nextArrow: '<div class="slick-next"></div>', //矢印部分NextのHTMLを変更
dots: true, //下部ドットナビゲーションの表示
pauseOnFocus: false, //フォーカスで一時停止を無効
pauseOnHover: false, //マウスホバーで一時停止を無効
pauseOnDotsHover: false, //ドットナビゲーションをマウスホバーで一時停止を無効
});
//スマホ用:スライダーをタッチしても止めずにスライドをさせたい場合
$('.slider').on('touchmove', function(event, slick, currentSlide, nextSlide){
$('.slider').slick('slickPlay');
});
html
<header id="header">
<h1>Logo</h1>
</header>
<main>
<section>
<h2>Area 1</h2>
<p>使用したライブラリ:<a href="https://humaan.com/modaal/" target="_blank" >https://humaan.com/modaal/</a></p>
<p><a href="#info" class="modal-open">お知らせを開く</a></p>
<section id="info">
<h2>Sale情報</h2>
<p>11月1日~12月31日まで年末セールを開催!</p>
</section>
</section><!--/area1-->
<section>
<h2>Area 2</h2>
<p>テキストが入ります。</p>
</section><!--/area2-->
<section>
<h2>Area 3</h2>
<p>テキストが入ります。</p>
</section><!--/area3-->
</main><!--/main-->
<footer id="footer">
<small>© copyright.</small>
</footer>
css
/*========= モーダル表示のためのCSS ===============*/
/* infoエリアをはじめは非表示 */
#info {
display: none;
}
/* モーダルの横幅を変更したい場合 */
.modaal-container {
max-width: 600px;
}
/* モーダルのボタンの色を変更したい場合 */
.modaal-close:after,
.modaal-close:before {
background: #ccc;
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
background: #666;
}
/*========= レイアウトのためのCSS ===============*/
header {
background: #333;
}
h1 {
font-size: 1.5rem;
text-align: center;
text-transform: uppercase;
padding: 20px;
color: #fff;
}
h2 {
font-size: 1.2rem;
text-align: center;
margin: 0 0 30px 0;
}
p,ul {
margin-top: 20px;
}
ul {
list-style: none;
}
a {
color: #333;
outline: none;
}
small {
background: #333;
color: #fff;
display: block;
text-align: center;
padding: 20px;
}
section {
padding: 30px;
}
section: nth-child(2n) {
background: #f3f3f3;
}
img {
max-width: 100%;
height: auto;
}
js
//初回のみモーダルをすぐ出す判定。flagがモーダル表示のstart_open後に代入される
var access = $.cookie('access')
if(!access){
flag = true;
$.cookie('access', false);
} else {
flag = false
}
//モーダル表示
$(".modal-open").modaal({
start_open: flag, //ページロード時に表示するか
overlay_close:true, //モーダル背景クリック時に閉じるか
before_open:function(){// モーダルが開く前に行う動作
$('html').css('overflow-y','hidden'); /*縦スクロールバーを出さない*/
},
after_close: function(){ // モーダルが閉じた後に行う動作
$('html').css('overflow-y','scroll'); /*縦スクロールバーを出す*/
}
});