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

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

新規登録して質問してみよう
ただいま回答率
85.50%
タブ

コンテンツの上下左右に参照用のメニューを設けることで、複数の要素やページの表示を可能にするユーザーインターフェイスパターンのこと。メニューをクリックすると、一つの要素が可視化され、他の要素は見えなくなる。

jQuery

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

Q&A

解決済

2回答

1560閲覧

jQueryでのタブの実装について

okkunn

総合スコア14

タブ

コンテンツの上下左右に参照用のメニューを設けることで、複数の要素やページの表示を可能にするユーザーインターフェイスパターンのこと。メニューをクリックすると、一つの要素が可視化され、他の要素は見えなくなる。

jQuery

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

0グッド

0クリップ

投稿2017/04/27 14:13

jqueryでのタブの実装について、上の部分は色が変わるようにできたのですが、下の内容部分が変わりません。
どうしてでしょうか。
コンソールには何も表示されません。

jquery

1$(function(){ 2$('#pickup').find('a').click(function(){ 3$(this).parent().addClass('current').siblings('.current').removeClass('current'); 4var tabTarget = $(this).attr('href'); 5$(tabContents).addClass('current').siblings('.current').removeClass('current'); 6 return false; 7}); 8});

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<meta http-equiv="X-UA-Compatible" content="IE=11"> 6<link rel="stylesheet" href="./css/main.css"> 7<script src="./js/vendor/jquery-1.10.2.min.js"></script> 8<script src="./js/main.js"></script> 9</head> 10<body> 11<section id="pickup"> 12<ul class="tabu"> 13<li class="current"><a href="#ninnki">aaaaa</a></li> 14<li><a href="#osusume">bbbbb</a></li> 15</ul> 16<div class="tabContents current" id="ninnki"> 17<p>aaaaa</p> 18<p>bbbbb</p> 19<p>ccccc</p> 20</div> 21 22<div class="tabContents" id="osusume"> 23<p>ddddd</p> 24<p>eeeee</p> 25<p>fffff</p> 26</div> 27</section> 28</body> 29</html> 30

css

1tabu{ 2margin:10px 0 0 0; 3padding:0 0 0 0; 4} 5.tabu li{ 6float:left; 7width:49%; 8text-align:center; 9background-color:#000000; 10list-style-type:none; 11margin:0 0.5% 0 0; 12} 13.tabu li.current{ 14background-color:#ffffff; 15display:block; 16} 17#ninnki{ 18background-color:#ffffff; 19padding:0 0 0 0; 20margin:0 0 0 0; 21clear:both; 22} 23#ninnki p{ 24padding-top:2px; 25} 26#osusume{ 27display:none; 28} 29 30

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

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

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

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

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

guest

回答2

0

ベストアンサー

CSS

1#osusume{ 2/* display:none; 削除*/ 3} 4/* 以下追加 */ 5.tabContents { 6 background-color: #ffffff; 7 display: none; 8} 9.tabContents.current { 10 display: block; 11}

JavaScript

1// $(tabContents).addClass('current').siblings('.current').removeClass('current'); 2// ↓ 3 $(tabTarget).addClass('current').siblings('.current').removeClass('current'); 4```**動くサンプル:**[https://jsfiddle.net/uxjhesh0/](https://jsfiddle.net/uxjhesh0/)

投稿2017/04/27 17:05

kei344

総合スコア69364

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

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

okkunn

2017/04/28 12:02

できました!ありがとうございました!!
guest

0

以下のように行ってはいかがでしょうか?

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=11"> 6 <style type="text/css"> 7 .tabu { 8 margin: 10px 0 0 0; 9 padding: 0 0 0 0; 10 } 11 12 .tabu li { 13 float: left; 14 width: 49%; 15 text-align: center; 16 background-color: #000000; 17 list-style-type: none; 18 margin: 0 0.5% 0 0; 19 border: 1px solid black; 20 } 21 22 .tabu li.current { 23 background-color: #ffffff; 24 display: block; 25 } 26 27 #ninnki { 28 background-color: #ffffff; 29 padding: 0 0 0 0; 30 margin: 0 0 0 0; 31 clear: both; 32 } 33 34 #ninnki p { 35 padding-top: 2px; 36 } 37 38 div.tabContents:not(.current) { 39 display: none; 40 } 41 </style> 42</head> 43<body> 44<section id="pickup"> 45 <ul class="tabu"> 46 <li class="current"><a href="#ninnki">aaaaa</a></li> 47 <li><a href="#osusume">bbbbb</a></li> 48 </ul> 49 <div class="tabContents current" id="ninnki"> 50 <p>aaaaa</p> 51 <p>bbbbb</p> 52 <p>ccccc</p> 53 </div> 54 55 <div class="tabContents" id="osusume"> 56 <p>ddddd</p> 57 <p>eeeee</p> 58 <p>fffff</p> 59 </div> 60</section> 61<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 62<script> 63 $(function () { 64 $('#pickup').find('a').click(function () { 65 $(this).parent().addClass('current').siblings('.current').removeClass('current'); 66 var tabTarget = $(this).attr('href'); 67 $(tabTarget).addClass('current').siblings('.current').removeClass('current'); 68 return false; 69 }); 70 }); 71</script> 72</body> 73</html>

投稿2017/04/27 14:21

s8_chu

総合スコア14731

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

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

okkunn

2017/04/27 14:51

教えていただいたものでやればできましたが、できればhtmlだけではなく複数のファイルで管理したいと思っております。 私のコードはどこがだめだったのか教えていただけないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問