質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1115閲覧

プログラミング初心者です。スライドショーを作っているんですが、numberが何を意味するものなのか教えてください。

programing_.

総合スコア4

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/01/28 09:03

問題の場所はJSの23行目にある page.innerHTML=(Number(current)+1)+'/'+images.length;
のnumberです。
これは今メインの画面で表示されているスライドがスライド3枚中何枚目かを示す記述です。

メインの画像の下にある複数のサムネイルをクリックすると、それがメインの画像になります。

3枚ある画像を左から順にクリックすると 1/3 2/3 3/3と表示されるのですが、Numberを外すと01/3 11/3 21/3 と表示されます。 このnumberは何を意味するものなんでしょうか。

HTML

1コード 2 3<!DOCTYPE html> 4<html lang="ja"> 5<head> 6 <meta charset="UTF-8"> 7 <title>スライドショー</title> 8 <link rel="stylesheet" href="style.css"> 9</head> 10<body> 11 <div class="container"> 12 <div class="image_box"> 13 <img id="main_image" src="IMG/coffee-01.jpg" > 14 </div> 15 16 <ul id="thumbnails"> 17 <li> <img class="thumbnail_image" src= "IMG/coffee-01.jpg" data-image="coffee-01.jpg" data-index="0"></li> 18 <li> <img class="thumbnail_image" src="IMG/coffee-02.jpg" data-image="coffee-02.jpg" data-index="1"></li> 19 <li> <img class="thumbnail_image" src="IMG/coffee-03.jpg" data-image="coffee-03.jpg" data-index="2"></li> 20 21 22 </ul> 23 24 <div class="toolbar"> 25 <div class="nav"> 26 <div id="prev"><<</div> 27 <span id="page"></span> 28 <div id="next">>></div> 29 30 </div> 31 </div> 32 </div> 33 34 <script src="main.js"></script> 35 36 37 38 39 40 <div id="elm" data-name="前本"  data-type="cool"> </div> 41 <script> 42 var elm=document.getElementById("elm"); 43 elm.dataset.name; 44 45 </script> 46</body> 47</html>

CSS

1コード 2 3.container{ 4 margin:0 auto; 5 border:1px solid black; 6 width:720px; 7 background-color:black; 8} 9 10#main_image{ 11 max-width:100%; 12} 13 14#thumbnails{ 15 margin:5px; 16} 17 18ul{ 19 overflow:hidden; 20 margin:0px; 21 padding:0px; 22 list-style-type:none; 23 24} 25 26li{ 27 float:left; 28 margin-right: 10px; 29 width:90px; 30 height:50px; 31} 32 33.thumbnail_image{ 34 width:90px; 35 height:60px; 36} 37 38.current_image{ 39 border:3px solid white; 40} 41 42.nav{ 43 display:inline-block; 44} 45 46.toolbar{ 47 overflow:hidden; 48 text-align:center; 49} 50 51#prev{ 52 color:white; 53 float:left; 54 width:40px; 55 height:40px; 56 cursor:pointer; 57} 58 59#next{ 60 color:white; 61 float:left; 62 width:40px; 63 height:40px; 64 65} 66 67#page{ 68 display:inline-block; 69 float:left; 70 height:40px; 71 color:white; 72}

javascript

1コード 2(function(){ 3 'use strict' 4 5 var images=['coffee-01.jpg','coffee-02.jpg','coffee-03.jpg']; 6 7 var current=0; 8 var prev=document.getElementById('prev'); 9 var next=document.getElementById('next'); 10 var page=document.getElementById('page'); 11 12 var main_image=document.getElementById('main_image'); 13 var thumbs=document.querySelectorAll('.thumbnail_image'); 14 15 for(var i=0; i<thumbs.length;i++){ 16 thumbs[i].addEventListener('click', function(){ 17 main_image.src="IMG/"+this.dataset.image; 18 current=this.dataset.index; 19 displayPageNumber(); 20 }); 21 } 22 23 function displayPageNumber(){ 24 page.innerHTML=(Number(current)+1)+'/'+images.length; 25 } 26 displayPageNumber(); 27 28 29})(); 30 31 32 33 34

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/01/28 09:50

>プログラミング初心者です。 質問に「初心者アイコン」をつけるだけで良いです。 あと自身で書かれたものではないのでしょうか。 参考先の出展明示してください。
m.ts10806

2021/01/28 10:12

コードブロック内には実際のコードだけ提示してください。 現状提示のコードだとコピペしたときにJavaScriptはエラーが出るはずです。
guest

回答2

0

Number - JavaScript | MDN - Mozilla

関数として使用された場合、 Number(value) は文字列やその他の値を Number 型に変換します。

投稿2021/01/28 09:10

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/01/28 10:02

あと質問を読んで補足ですが、JavaScript では大文字と小文字が区別されます。 Number と number は別物と認識されますので、ご注意を。
guest

0

ベストアンサー

クラスを引数に取る関数にint型を入れて見ましたがエラーになります。

数値への変換関数です(MDN)。

文字列+数値のようなコードを書くと、JavaScriptでは文字列連結として処理が進むので、数値変換を入れて数値としての足し算を行わせています。

投稿2021/01/28 09:06

maisumakun

総合スコア145192

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/01/28 09:08

なお、単項プラス演算(+current)や、足し算以外の四則演算(current - 0)を行うと、演算対象は数値としての変換が行われますので、それを使って数値変換を行うこともあります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問