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

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

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

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

Q&A

1回答

939閲覧

JS表示件数の指定とボタンの表示切り替えができない

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2018/10/07 07:45

編集2018/10/07 10:38

//もっと見る 以外の1〜3までが全て実装できません。
エラーは出ていないです。
画面に反映されないので、どこが違うのかがわかりません。

前提・実現したいこと

1、3件までを表示したい(SPは2件分)
2、3件以上はもっとみるボタンをクリックして全て開くようにしたい
3、3件以下の場合は、ボタンを非表示にしたい

Html

1<div class="item_box" > 2 <ul class="item" id="col"> 3 <li class="item_title">タイトル</li> 4 <li class="item_text">内容</li> 5 </ul> 6 7 <ul class="item" id="col"> 8 <li class="item_title">タイトル</li> 9 <li class="item_text">内容</li> 10 </ul> 11 12  <ul class="item" id="col"> 13 <li class="item_title">タイトル</li> 14 <li class="item_text">内容</li> 15 </ul> 16 17   <ul class="item" id="col"> 18 <li class="item_title">タイトル</li> 19 <li class="item_text">内容</li> 20 </ul> 21 <div class="more_btn" id="more">もっとみる</div> 22 </div>

javascript

1<script> 2$('.item_box').each(function(i) { 3  i = i + 1;                         4  var more = 3;      //3件表示する                   5  $("#morebtn" + i ).hide();   6  $("#col" + i +" li:not(:lt("+more+"))").hide();//3件以上は記事を非表示にする 7  if($("#col" + i + " li").length > more) { //3件以上はボタンを表示する   8 $("#morebtn" + i ).show(); 9  } 10 11  $(".more").click(function () {   12 id = $(this).attr("id");           13 var num = id.substr(3,1);            14 if ($("#col" + num + " li:eq("+more+")").is(":hidden")) { 15 $("#col" + num + " li:hidden").show(); //記事を表示する 16 } else { 17 $("#col" + num + " li:not(:lt("+more+"))").hide(); //記事を非表示にする 18 } 19  }); 20}); 21 22//もっと見る 23  $(function(){ 24  $('.more').click(function(){ 25  $(this).hide(); 26  $(this).parent('.item_box').removeClass('onhidden'); 27  }); 28}); 29</script>

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

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

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

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

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

kei344

2018/10/07 08:08

「うまくできない」とは「何をしたときに」「どうなると思って」「どうなったのか」を、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。
m.ts10806

2018/10/07 08:20

現在のコードでどこまでできていて何ができていない(不明点・問題点)を記載してください。質問は編集できますので。 あと、「初心者アイコン」もご活用ください。
guest

回答1

0

同じページで同一のid属性は使えないのでそれが原因かもしれません。id="col"の部分ですね。class属性にして見てはどうでしょうか?
それと$(".more")ではなくて$("#more")と指定する必要がありますね。ひとまずその点だけでも修正して見てはどうでしょうか。

投稿2018/10/07 12:34

t_tonchim

総合スコア96

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問