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

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

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

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

解決済

クリック時に画像の表示を切り替える

Iori
Iori

総合スコア48

DataSet

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

2回答

0リアクション

0クリップ

239閲覧

投稿2022/09/28 01:26

前提

jsの入門書でカスタムデータ属性を学んでいます。

実現したいこと

画像をクリックするとその画像を大きく表示させるようにしたいです。

発生している問題・エラーメッセージ

イメージ説明
これが初期の状態で他の画像をクリックしたら大きく表示させたいのですが、下のようになってしまいます。
イメージ説明

疑問

お手本の画像をクリックしても画像が変わらなかったのですが、なぜでしょうか...

該当のソースコード

HTML

<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>テンプレート</title> <link href="../../_common/images/favicon.ico" rel="shortcut icon"> <link href="https://fonts.googleapis.com/css?family=M+PLUS+1p:400,500" rel="stylesheet"> <link href="../../_common/css/style.css" rel="stylesheet"> <style> section img { max-width: 100%; } .center { margin: 0 auto 0 auto; max-width: 90%; width: 500px; } ul { display: flex; margin: 0; padding: 0; list-style-type: none; } li { flex: 1 1 auto; margin-right: 8px; } li:last-of-type { margin-right: 0; } </style> </head> <body> <header> <div class="container"> <h1>タイトル</h1> <h2>サブタイトル</h2> </div><!-- /.container --> </header> <main> <div class="container"> <section> <div class="center"> <div> <img src="./images/img1.jpg" id="bigimg"> </div> <ul> <li> <img src="./images/thumb-img1.jpg" class="thumb" data-image="img1.jpg"></li> <li> <img src="./images/thumb-img2.jpg" class="thumb" data-image="img2.jpg"></li> <li> <img src="./images/thumb-img3.jpg" class="thumb" data-image="img3.jpg"></li> <li> <img src="./images/thumb-img4.jpg" class="thumb" data-image="img4.jpg"></li> </ul> </div> </section> </div><!-- /.container --> </main> <footer> <div class="container"> <p>JavaScript Samples</p> </div><!-- /.container --> </footer> <script> 'use strict'; const thumbs = document.querySelectorAll('.thumb'); thumbs.forEach(function(item, index) { item.onclick = function () { document.getElementById('bigimg').src = this.dataset.image; } }); </script> </body> </html>

お手本

HTML

<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>5-04_image</title> <link href="../../_common/images/favicon.ico" rel="shortcut icon"> <link href="https://fonts.googleapis.com/css?family=M+PLUS+1p:400,500" rel="stylesheet"> <link href="../../_common/css/style.css" rel="stylesheet"> <style> section img { max-width: 100%; } .center { margin: 0 auto 0 auto; max-width: 90%; width: 500px; } ul { display: flex; margin: 0; padding: 0; list-style-type: none; } li { flex: 1 1 auto; margin-right: 6px; } li:last-of-type { margin-right: 0; } </style> </head> <body> <header> <div class="container"> <h1>イメージの切り替え</h1> <h2>画像を切り替える</h2> </div><!-- /.container --> </header> <main> <div class="container"> <section> <div class="center"> <div> <img src="img1.jpg" id="bigimg"> </div> <ul> <li><img src="thumb-img1.jpg" class="thumb" data-image="img1.jpg"></li> <li><img src="thumb-img2.jpg" class="thumb" data-image="img2.jpg"></li> <li><img src="thumb-img3.jpg" class="thumb" data-image="img3.jpg"></li> <li><img src="thumb-img4.jpg" class="thumb" data-image="img4.jpg"></li> </ul> </div> </section> </div><!-- /.container --> </main> <footer> <div class="container"> <p>JavaScript Samples</p> </div><!-- /.container --> </footer> <script> 'use strict'; const thumbs = document.querySelectorAll('.thumb'); thumbs.forEach(function(item, index) { item.onclick = function() { } document.getElementById('bigimg').src = this.dataset.image; }); </script> </body> </html>

試したこと

./imaegs/ を消してやってみましたが、そうするとそもそもの画像が表示されなくなりました。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2022/09/28 02:48

解決された後で申し訳ないですが、明らかに本件と無関係の質問タグがあるので あとから参照する人が混乱しないためにも外しておいてもらえると。 https://teratail.com/tags/DataSet

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

DataSet

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。