🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1057閲覧

繰り返し文を使って本を並べたい

umi3

総合スコア18

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/12/11 03:07

前提・実現したいこと

本棚に同じ本を10冊ずつ並べたいのですが、htmlを使って全て書くと大量に書くことになるので、JavaScriptかjQueryの繰り返し文を使って書こうと思ったのですが、うまく行きません。

イメージ説明
ここにより詳細な情報を記載してください。

コード

html

1 <div class="main"> 2 <div class="haikei"> 3 <div class="background-shelf"> 4 <div class="shelf-all shelf1"> 5 <img src="../images/shelf.png"> 6 <div class="shelf1-book book1"> 7 <div class="book-before"> 8 <div class="rect"> 9 <div class="book-all book-top"></div> 10 <div class="book-all book-right"></div> 11 <div class="book-all book-covor"></div> 12 </div> 13 </div> 14 <div class="book-after"> 15 <img src="../images/books/20dainisiteokitai17nokoto.jpg" class="alltag tag-A" width="150px"> 16 <button class="buttonA">閉じる</button> 17 </div> 18 </div> 19 </div> 20 <div class="shelf-all shelf2"> 21 <img src="../images/shelf.png"></div> 22 23 <div class="shelf-all shelf3"> 24 <img src="../images/shelf.png"></div> 25 26 <div class="shelf-all shelf4"> 27 <img src="../images/shelf.png"></div> 28 29 <div class="shelf-all shelf5"> 30 <img src="../images/shelf.png"></div> 31 </div> 32 </div> 33 </div>

css

1.main { 2 position: relative; 3 height: 2800px; 4 top: 0; 5} 6.haikei{ 7 width: 1000px; 8 position: absolute; 9 left: 0; 10 right: 0; 11 margin: auto; 12} 13.background-shelf img{ 14 width: 1000px; 15 position: absolute; 16} 17.background-shelf{ 18 left: 0; 19 right: 0; 20 margin: auto; 21} 22.shelf-all{ 23position: absolute; 24} 25.shelf1{ 26 top: 300px; 27} 28.shelf2{ 29 top: 800px; 30} 31.shelf3{ 32 top: 1300px; 33} 34.shelf4{ 35 top: 1800px; 36} 37.shelf5{ 38 top: 2300px; 39} 40.shelf1-book{ 41 top: -80px; 42} 43.book1{ 44 position: relative; 45 left: 100px; 46} 47.rect{ 48position: relative; 49transform-style: preserve-3d; 50perspective-origin: 0% 100%; 51 transform:rotateY(-15deg) rotateX(-10deg); 52} 53.book-all{ 54 position: absolute; 55} 56.book-top{ 57 width: 30px; 58 height: 75px; 59 transform: rotateX(-90deg); 60 transform-origin: top; 61 background-color: hsla(0,100%,50%,0.7); 62} 63.book-right{ 64 width: 75px; 65 height: 150px; 66 left: 30px; 67 transform: rotateY(90deg); 68 transform-origin: left; 69 background-color: hsla(50,100%,50%,0.7); 70} 71.book-covor{ 72 width: 30px; 73 height: 150px; 74 background-color: hsla(100,100%,50%,0.7); 75}

js

1for (let i=0; i<10; i++) { 2 console.log("現在" + (i+1) + "回目の処理です。"); 3 $('.rect').clone().after('.rect'); 4}

補足情報

本棚は全部で5つあるので、.shelf1 から.shelf5まで作りたい

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

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

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

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

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

miyabi_takatsuk

2020/12/11 03:21

> うまく行きません。 何がどう上手くいかないのでしょうか?
umi3

2020/12/11 03:24

consoleの方はしっかり動いているのですが、本が10札表示されなくて、1つしか表示されません
FKM

2020/12/11 06:05

どうやってスクリプトを動かしているのですか。みたところ、イベントのトリガーがどこにもなさそうですが。
umi3

2020/12/11 07:57

トリガーといいますか、htmlを簡略化したいだけなので、トリガーはいらないかなと思ったのですが、トリガーを設定しないと出来ないのでしょうか・・・? もしくは書き方が間違っているのでしょうか?
FKM

2020/12/11 08:18

JavaScriptはhtmlとは独立しているので、ロード時だとかクリック時とかそういうイベントがないと動かないですよ。
umi3

2020/12/11 08:37

そうなんですか。。。 では、htmlでひたすら書いていくしかないですかね?
FKM

2020/12/11 09:00

jQueryならば通常でオンロード呼び出しできますけどね。
umi3

2020/12/11 09:07

なるほど、、、 初めて聞きました、新しく調べてやるとちょっと時間かかりそうなので、一旦htmlでそのまま書こうと思います
miyabi_takatsuk

2020/12/11 11:24

解決されたのであれば、自己解決の投稿か、BAを選出して、質問を閉じられるとよいかと。
guest

回答1

0

ベストアンサー

本棚が透視図法的な絵になっているので、並べる本もパースをつけないといけないので
同じ画像を並べてもおかしくなります。
普通にhtmlでimgで任意に書き出せばよいような気がします

投稿2020/12/11 10:08

yambejp

総合スコア116694

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

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

yambejp

2020/12/11 10:09

全部並べておいて、cssで非表示/表示を切り替えるとかでもOK
umi3

2020/12/20 07:51

遅くなってしまい、すみません。。。 ベストアンサーつけ忘れてました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問