第11回ホームページ勉強会
  
第68日目2023年06月29日






今回の勉強は、.横スクロールスライドショーです

今回も『jQuery Plugin For Simple Image Scroller - slider.js』というページからダウンロードした、『horizontal.html』を起動すると下記の様な横移動スライドショーが始まります。下記の図をクリックすると起動します。 


 今回は2種類のスライドショーが同時に進行していますが、下の小さいスライドショーはNextの上にマウスが乗った時だけスライドします。

 この上のスライドを独立させ、500☓375pxの写真に対応させて改造し、タイトルやBGMが1行目に配置できるように、スライドショーのHTML文は「2行1列の表」の2行目に配置します。

事前準備:今回は無し
 前回作ったフォルダー『VerScrSlide』の中のフォルダー『photo』の中に入った写真は前回のものをそのまま使います。もちろん別の写真を準備して頂いてもOKです。
(写真は、
500×375px(4:3)の写真を10枚
で写真の名前は01.jpg~10.jpgです。)

 今回勉強する横スクロールスライドショーの作成結果はここから覧下さい。


1.index.htmlの変更
「horizontal.html」をHPビルダーで開きます。
取り合えず、「main1.html」という名前で保存します。

下記がhtmlソースですが、縦スクロールスライドと同様に。共通の設定、1列目専用の設定、2列目専用の設定や不要な設定があります。

削除:不要な設定を下から削除していきます。
73~77行目を削除。(要らない<footer>と29行目の設定の終了を示している<div>
62~71行目を削除。(2列目のスクロールの設定)
29~32行目を削除。(<div id="wrapper"><header>
18~23行目を削除。(2列目のスクロールの設定)

設定変更:
① 写真のフォルダーと名前とサイズの変更
  ・28行目の「
/300/1」を選択し、「編集」→「置換」をクリックし、置換後の文字列に「/0」を
  入力して、「すべて置換」をクリック。
  ・28行目の「
300" height="300」をコピーし、「編集」→「置換」をクリックし、検索文字列と
  置換文字列の両方に「
300" height="300」を貼り付けて、置換後は「500" height="375
  に変えて、「すべて置換」をクリック。
  ・置換窓を
✕で閉じる
② 写真を10枚に設定し、各写真の説明文を自分の写真用に変えます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

18
19
20
21
22
23

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39


40
41

42
43




44
45
46
47
48
49
50





51
52
53
54
55
56
57
58
59

60
61

62
63
64
65
66
67
68
69
70
71
72
73
74
75

76
77
78
79
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title>slider</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/slider-horizontal.css">
<script src="js/jquery.min.js"></script>
<script src="js/slider.js"></script>
<script>
$(function(){

// 自動実行
$("#slider-0").slider({
// direction: "up", // 省略時はleft扱い
time: 32
});

// 手動で動かす
$("#slider-1").slider({
direction: "right", // 変更
auto: false,
pause: false
});


});
</script>
</head>
<body>
<div id="wrapper">
<header>
<h1><img src="img/header.png" alt="" /></h1>
</header>

<section id="main">
<!-- imgを使用する場合はサイズを指定しておく -->
<div class="slideFrame" id="slider-0">
<ul class="slideGuide left"><!-- クラス名を変更 -->
<li class="slideCell">
<img src="photo/300/11.jpg" alt="" width="300" height="300">
<p>Kokoniha hontouno soraga naitoiu,hontouno sora ga mitai to iu.I odoroite sora wo miru sakurano aidani arunoha kittemo kirenai mukashi najimino kireina sorada.Donyori kemuru thiheino bokashiha usumomoirono asano shimerida.</p>
</li>
<li class="slideCell">
<img src="photo/300/12.jpg" alt="" width="300" height="300">
<p>Kokoniha hontouno soraga naitoiu,hontouno sora ga mitai to iu.I odoroite sora wo miru sakurano aidani arunoha kittemo kirenai mukashi najimino kireina sorada.Donyori kemuru thiheino bokashiha usumomoirono asano shimerida.Aithuha tookuwo minagara iu.Adatarasan no yamano ueni mainichi deteiru aoi soraga honntouno sora dato iu.Adokenai sorano hanashi de aru.</p>
</li>
<li class="slideCell">
<img src="photo/300/13.jpg" alt="" width="300" height="300">
</li>
<li class="slideCell">
<img src="photo/300/14.jpg" alt="" width="300" height="300">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</li>
<li class="slideCell">
<img src="photo/300/15.jpg" alt="" width="300" height="300">
<p>Fukai mori no nakani aru gaitou.</p>
</li>
<li class="slideCell">
<img src="photo/300/16.jpg" alt="" width="300" height="300">
<p>Totemo kireina kiiroi hana.</p>
</li>
</ul>
</div>

<div class="slideFrame" id="slider-1">
<ul class="slideGuide right"><!-- クラス名を変更 -->
<li class="slideCell"><img src="photo/122/20.jpg" alt="" width="122" height="122"></li>
<li class="slideCell"><img src="photo/122/21.jpg" alt="" width="122" height="122"></li>
<li class="slideCell"><img src="photo/122/22.jpg" alt="" width="122" height="122"></li>
<li class="slideCell"><img src="photo/122/23.jpg" alt="" width="122" height="122"></li>
<li class="slideCell"><img src="photo/122/24.jpg" alt="" width="122" height="122"></li>
</ul>
<div class="slideCtrl right">next</div><!-- クラス名を変更 -->
</div>

</section>
<footer>
<div class="left"><img src="img/footer-left.png" alt="" /></div>
<div class="right"><img src="img/footer-right.png" alt="" /></div>
</footer>

</div>
</body>
</html>

ここまでの操作でソースは以下の様になります

動作確認を実施すると、①写真の横方向が重なっており、②写真の説明文字が左詰めになっています。

①は「
css/slider-horizontal.css」の設定を変える必要があり、②は25行目の
  <div class="slideFrame" id="slider-0">のオプションで「
␣align="center"」を追加します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

18
19
20
21
22
23
24

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title>ベンガラ色の街</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/slider-horizontal.css">
<script src="js/jquery.min.js"></script>
<script src="js/slider.js"></script>
<script>
$(function(){

// 自動実行
$("#slider-0").slider({
// direction: "up", // 省略時はleft扱い
time: 32
});


});
</script>
</head>
<body>
<section id="main">
<!-- imgを使用する場合はサイズを指定しておく -->
<div class="slideFrame" id="slider-0">
<ul class="slideGuide left"><!-- クラス名を変更 -->
<li class="slideCell"><img src="photo/01.jpg" alt="" width="500" height="375">
<p
>重要伝統的構造物群保存地区</p></li>
<li class="slideCell"><img src="photo/02.jpg" alt="" width="500" height="375">
<p>
ベンガラ色の街並み</p></li>
<li class="slideCell"><img src="photo/03.jpg" alt="" width="500" height="375">
<p>
レトロなボンネットバス</p></li>
<li class="slideCell"><img src="photo/04.jpg" alt="" width="500" height="375">
<p>
麻田百貨店(お土産店)</p></li>
<li class="slideCell"><img src="photo/05.jpg" alt="" width="500" height="375">
<p>
吹屋郵便局</p> </li>
<li class="slideCell"><img src="photo/06.jpg" alt="" width="500" height="375">
<p>
ベンガラ染工房</p></li>
<li class="slideCell"><img src="photo/07.jpg" alt="" width="500" height="375">
<p
>ベンガラ屋(お土産店)</p></li>
<li class="slideCell"><img src="photo/08.jpg" alt="" width="500" height="375">
<p>
あさだ(お土産店)</p></li>
<li class="slideCell"><img src="photo/09.jpg" alt="" width="500" height="375">
<p>
長尾醤油酒店</p></li>
<li class="slideCell"><img src="photo/10.jpg" alt="" width="500" height="375">
<p>
レトロな看板</p></li>
</div>
</section>
</body>
</html>


2.「slider-horizontal.css」の変更

基本的な考えは写真サイズを500✕375pxに変え、枠幅は10pxにします。

下記3項目は使用しないので
72行目以降は削除します。
① 73~92行目はスライドの2列目の設定。
② 96~102行目はHeaderを表示させるために左から220pxの幅で暗く表示させる設定。
③ 104~116行目は左端から280pxから画像をフェードアウトさせる設定。


変更後は名前をslider-horizontal1.css」に変えて保存します。

 改 訂 前  変 更 後
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97


98

99

100

101

102
103
104
105
106
107
108
109
110
111


112

113

114

115

116
#wrapper {
min-width: 100%;
}

/* slider (base)
--------------------------------------------- */
.slideFrame {
overflow: hidden;
}

.slideCell {
display: block;
}

.slideGuide .slideCell {
float: left;
margin-right: 5px;
}
.slideGuide.up .slideCell, .slideGuide.down .slideCell {
float: none;
margin-right: 0;
margin-bottom: 10px;
}

/* controller */
.slideCtrl {
position: absolute;
background-color: #333;
background-color: rgba(255, 255, 255, 0.55);
color: #fff;
font-size: 12px;
font-weight: bold;
text-align: center;
}
.slideCtrl.left, .slideCtrl.right {
top: 0;
width: 90px;
height: 100%;
}
.slideCtrl.up, .slideCtrl.down {
left: 0;
width: 100%;
height: 60px;
font-size: 14px;
line-height: 60px;
}

.slideCtrl.left {
left: 0;
}

.slideCtrl.right {
right: 0;
}

.slideCtrl.up {
top: 0;
}

.slideCtrl.down {
bottom: 0;
}

/* slider-0
-------------------------------------------- */
#slider-0.slideFrame .slideCell {
width: 300px;
height: 420px;
padding: 20px;
}


/* slider-1
-------------------------------------------- */
#slider-1.slideFrame {
position: relative;
height: 164px;
margin-left: 220px;
margin-top: 10px;
}
#slider-1.slideFrame .slideCell {
height: 122px;
padding: 20px;
background-color: #000;
}
#slider-1.slideFrame .slideCell:hover {
background-color: #505050;
}
#slider-1.slideFrame .slideCtrl {
padding-top: 80px;
color: #000;
}

/* おまけ
-------------------------------------------- */
body {
background: -webkit-gradient(linear, 0% 50%, 220 50%, color-stop(100%, #000000), color-stop(100%, #303030));
background: -webkit-linear-gradient(left, #000000 220px, #303030 220px);
background: -moz-linear-gradient(left, #000000 220px, #303030 220px);
background: -o-linear-gradient(left, #000000 220px, #303030 220px);
background: linear-gradient(left, #000000 220px, #303030 220px);
}

section:before,
#slider-1.slideFrame:before {
content: "";
position: absolute;
margin-left: -2px;
width: 280px;
height: 100%;
background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #000000), color-stop(100%, rgba(0, 0, 0, 0)));
background: -webkit-linear-gradient(left, #000000, rgba(0, 0, 0, 0));
background: -moz-linear-gradient(left, #000000, rgba(0, 0, 0, 0));
background: -o-linear-gradient(left, #000000, rgba(0, 0, 0, 0));

background: linear-gradient(left, #000000, rgba(0, 0, 0, 0));
}
#wrapper {
min-width: 100%;
}

/* slider (base)
--------------------------------------------- */
.slideFrame {
overflow: hidden;
}

.slideCell {
display: block;
}

.slideGuide .slideCell {
float: left;
margin-right: 5px;
}
.slideGuide.up .slideCell, .slideGuide.down .slideCell {
float: none;
margin-right: 0;
margin-bottom: 10px;
}

/* controller */
.slideCtrl {
position: absolute;
background-color: #333;
background-color: rgba(255, 255, 255, 0.55);
color: #fff;
font-size: 12px;
font-weight: bold;
text-align: center;
}
.slideCtrl.left, .slideCtrl.right {
top: 0;
width: 90px;
height: 100%;
}
.slideCtrl.up, .slideCtrl.down {
left: 0;
width: 100%;
height: 60px;
font-size: 14px;
line-height: 60px;
}

.slideCtrl.left {
left: 0;
}

.slideCtrl.right {
right: 0;
}

.slideCtrl.up {
top: 0;
}

.slideCtrl.down {
bottom: 0;
}

/* slider-0
-------------------------------------------- */
#slider-0.slideFrame .slideCell {
width:
500px;
height:
410px;
padding:
10px;
}


3.全体の説明文、BGMや戻るボタンを設ける場合の「index1.html」

HPビルダーで「index1.html」を開き、HTMLソースに切り替え、22行目の<body>の後ろで改行し、その状態で2行1列の表を作成します。
<body>
<table border="1"><tbody><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></tbody></table>
<section id="main">
  :
  :
</section>

</body>
</html>

2か所の「&nbsp;」の前後で改行し、<section id="main">~</section>を切り取り2つ目の「&nbsp;」と置き換えます。

1つ目の「&nbsp;」は全体の説明文を記入し、サイズ、色、表示位置を調整します。
写真の説明文の文字色、フォントサイズ等の設定と中央揃え、表示位置調整を実施します。

下記が写真1枚分の文例です
<li class="slideCell"><img src="photo/01.jpg" alt="" width="500" height="375">
<p style="line-height: 0px;"><font size="4" color="#00ff00">重要伝統的構造物群保存地区</font></p></li>

<p>のオプションの「style="line-height: 0px;"」は文字列の改行幅で、0pxは通常より小さく上に配置する感じです。

動作確認すれば、以上で完成です。

       

 
2023-07-02 資料作成:三宅 節雄