質問編集履歴

3

内容を戻す

2015/11/04 10:32

投稿

phpjo
phpjo

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,126 +1,38 @@
1
- jQueryを使用してタブを作成しました。
1
+ jquery-ui.jsを使、下記のようなタブを作成しました。
2
+
3
+ ```html
4
+
5
+ <div id="tabs">
6
+
7
+ <ul>
8
+
9
+ <li><a href="#tab1">タブ1</a></li>
10
+
11
+ <li><a href="#tab2">タブ2</a></li>
12
+
13
+ <li><a href="#tab3">タブ3</a></li>
14
+
15
+ </ul>
2
16
 
3
17
 
4
18
 
5
- ※下サイトを参考にさせていただきました。
19
+ <div id="tab1">タブ1の中身を述</div>
6
20
 
7
- http://irohacross.net/2015/02/jquery_tab.html
21
+ <div id="tab2">タブ2の中身を記述</div>
8
22
 
9
-
10
-
11
- ```html
12
-
13
- <div class="all_area">
14
-
15
- <ul class="tab_area">
16
-
17
- <li id="tab1" class="select">Tab1</li>
18
-
19
- <li id="tab2">Tab2</li>
20
-
21
- <li id="tab3">Tab3</li>
23
+ <div id="tab3">タブ3の中身を記述</div>
22
-
23
- </ul>
24
-
25
-
26
-
27
- <!-- tab1 start -->
28
-
29
- <div class="content_area">
30
-
31
- <p>Tab1の内容</p>
32
-
33
- <!-- /tab1 end -->
34
24
 
35
25
  </div>
36
26
 
37
27
 
38
28
 
39
- <!-- tab2 start -->
40
-
41
- <div class="content_area hide">
29
+ <script type="text/javascript">$('#tabs').tabs();</script>
42
-
43
- <p>Tab2の内容</p>
44
-
45
- <!-- /tab2 end -->
46
-
47
- </div>
48
-
49
-
50
-
51
- <!-- tab3 start -->
52
-
53
- <div class="content_area hide">
54
-
55
- <p>Tab3の内容</p>
56
-
57
- <!-- /tab3 end -->
58
-
59
- </div>
60
-
61
-
62
-
63
- <!-- /tab area end -->
64
-
65
- </div>
66
30
 
67
31
  ```
68
32
 
69
33
 
70
34
 
71
- ```javascript
72
-
73
- $(function() {
74
-
75
- $('ul.tab_area li').click(function() {
76
-
77
- var index = $('ul.tab_area li').index(this);
78
-
79
- $('.content_area').css('display','none');
80
-
81
- $('.content_area').eq(index).fadeIn();
82
-
83
- $('.tab_area li').removeClass('select');
84
-
85
- $(this).addClass('select')
86
-
87
- });
88
-
89
- });
90
-
91
- //ダイレクトリンク
92
-
93
- $(function() {
94
-
95
- var hash = location.hash;
96
-
97
- hash = (hash.match(/^#tab\d+$/) || [])[0];
98
-
99
- if($(hash).length){
100
-
101
- var tabname = hash.slice(1) ;
102
-
103
- } else{
104
-
105
- var tabname = "tab1";}
106
-
107
- $('.content_area').css('display','none');
108
-
109
- $('.tab_area li').removeClass('select');
110
-
111
- var tabno = $('ul.tab_area li#' + tabname).index();
112
-
113
- $('.content_area').eq(tabno).fadeIn();
114
-
115
- $('ul.tab_area li').eq(tabno).addClass('select')
116
-
117
- });
118
-
119
- ```
120
-
121
-
122
-
123
- タブに直接、ページ内、もしくは別ページからリンクをはりたくて、以下記述をしました
35
+ これらのタブに直接、ページ内、もしくは別ページからリンクをはりたです
124
36
 
125
37
 
126
38
 
@@ -128,26 +40,50 @@
128
40
 
129
41
  ```html
130
42
 
131
- <ul>
43
+ <a href="#tab1" class="tab_link">タブ1を開く</a><br />
132
44
 
133
- <li><a href="tab2.html#tab1">タブ1を開く</a></li>
45
+ <a href="#tab2" class="tab_link">タブを開く</a><br />
134
46
 
135
- <li><a href="tab2.html#tab2">タブ2を開く</a></li>
47
+ <a href="#tab3" class="tab_link">タブを開
136
48
 
137
- <li><a href="tab2.html#tab3">タブ3を開く</a></li>
49
+ ```く</a><br />
138
50
 
51
+
52
+
53
+ **■ヘッダーに追加**
54
+
55
+ ```javascript
56
+
57
+ <script type="text/javascript">
58
+
59
+ $(function() {
60
+
61
+ $('a.tab_link').click(function() {
62
+
63
+ $("#tabs").tabs().tabs('select', $(this).attr('href'));
64
+
65
+ return false;
66
+
67
+ });
68
+
69
+ });
70
+
139
- </ul>
71
+ </script>
140
72
 
141
73
  ```
142
74
 
143
75
 
144
76
 
145
- 「タブ2を開く」をクリックすると、タブ2が開かれた状態で、タブのところから表示されるのですが、
77
+ 「タブ2を開く」をクリックすると、タブ2が開かれた状態で、
146
78
 
147
- 上記の例ですと、別ページから飛んできた場合(タブ部分の記述と「タブを開く」の記述が別々のページ)はきちん動作するのですが、同じページ(1ページに両方記述)ですと、うまく動作しません
79
+ <li><a href="#tab2">タブ2</a></li>」のところから表示されようにしたいのです。
148
80
 
149
81
 
150
82
 
151
- 「タブを開く」の記述が別ページに書かれていても、ページ内に書かれていても、いずれの場合も動作する方法が、お分かりなるおられましたら、ご教授ただければ幸いです。
83
+ 上記の例ですと、別ページから飛んできた場合(タブ部分の記述と「タブを開く」の記述が別々のページ)はきちんと動作するのですが、同じページ(1ページ記述)ですと、うく動作です。
84
+
85
+
86
+
87
+ お分かりになる方、おられましたら、ご教授いただければ幸いです。
152
88
 
153
89
  よろしくお願いいたします。

2

タイトルの修正

2015/11/04 10:32

投稿

phpjo
phpjo

スコア15

test CHANGED
@@ -1 +1 @@
1
- jqueryタブ切り替えでタブにリンクする方法
1
+ jqueryを使ったタブでタブ自体にリンクする方法
test CHANGED
File without changes

1

内容の修正

2015/11/04 08:57

投稿

phpjo
phpjo

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,38 +1,126 @@
1
- jquery-ui.jsを使、下記のようなタブを作成しました。
1
+ jQueryを使用してタブを作成しました。
2
-
3
- ```ここに言語を入力
4
-
5
- <div id="tabs">
6
-
7
- <ul>
8
-
9
- <li><a href="#tab1">タブ1</a></li>
10
-
11
- <li><a href="#tab2">タブ2</a></li>
12
-
13
- <li><a href="#tab3">タブ3</a></li>
14
-
15
- </ul>
16
2
 
17
3
 
18
4
 
19
- <div id="tab1">タブ1の中身記述</div>
5
+ ※下記サイト参考にさせていただきました。
20
6
 
21
- <div id="tab2">タブ2の中身を記述</div>
7
+ http://irohacross.net/2015/02/jquery_tab.html
22
8
 
9
+
10
+
11
+ ```html
12
+
13
+ <div class="all_area">
14
+
15
+ <ul class="tab_area">
16
+
17
+ <li id="tab1" class="select">Tab1</li>
18
+
19
+ <li id="tab2">Tab2</li>
20
+
23
- <div id="tab3">タブ3の中身を記述</div>
21
+ <li id="tab3">Tab3</li>
22
+
23
+ </ul>
24
+
25
+
26
+
27
+ <!-- tab1 start -->
28
+
29
+ <div class="content_area">
30
+
31
+ <p>Tab1の内容</p>
32
+
33
+ <!-- /tab1 end -->
24
34
 
25
35
  </div>
26
36
 
27
37
 
28
38
 
39
+ <!-- tab2 start -->
40
+
29
- <script type="text/javascript">$('#tabs').tabs();</script>
41
+ <div class="content_area hide">
42
+
43
+ <p>Tab2の内容</p>
44
+
45
+ <!-- /tab2 end -->
46
+
47
+ </div>
48
+
49
+
50
+
51
+ <!-- tab3 start -->
52
+
53
+ <div class="content_area hide">
54
+
55
+ <p>Tab3の内容</p>
56
+
57
+ <!-- /tab3 end -->
58
+
59
+ </div>
60
+
61
+
62
+
63
+ <!-- /tab area end -->
64
+
65
+ </div>
30
66
 
31
67
  ```
32
68
 
33
69
 
34
70
 
71
+ ```javascript
72
+
73
+ $(function() {
74
+
75
+ $('ul.tab_area li').click(function() {
76
+
77
+ var index = $('ul.tab_area li').index(this);
78
+
79
+ $('.content_area').css('display','none');
80
+
81
+ $('.content_area').eq(index).fadeIn();
82
+
83
+ $('.tab_area li').removeClass('select');
84
+
85
+ $(this).addClass('select')
86
+
87
+ });
88
+
89
+ });
90
+
91
+ //ダイレクトリンク
92
+
93
+ $(function() {
94
+
95
+ var hash = location.hash;
96
+
97
+ hash = (hash.match(/^#tab\d+$/) || [])[0];
98
+
99
+ if($(hash).length){
100
+
101
+ var tabname = hash.slice(1) ;
102
+
103
+ } else{
104
+
105
+ var tabname = "tab1";}
106
+
107
+ $('.content_area').css('display','none');
108
+
109
+ $('.tab_area li').removeClass('select');
110
+
111
+ var tabno = $('ul.tab_area li#' + tabname).index();
112
+
113
+ $('.content_area').eq(tabno).fadeIn();
114
+
115
+ $('ul.tab_area li').eq(tabno).addClass('select')
116
+
117
+ });
118
+
119
+ ```
120
+
121
+
122
+
35
- これらのタブに直接、ページ内、もしくは別ページからリンクをはりたくて、以下の記述をしました。
123
+ タブに直接、ページ内、もしくは別ページからリンクをはりたくて、以下の記述をしました。
36
124
 
37
125
 
38
126
 
@@ -40,43 +128,21 @@
40
128
 
41
129
  ```html
42
130
 
43
- <a href="#tab1" class="tab_link">タブ1を開く</a><br />
131
+ <ul>
44
132
 
45
- <a href="#tab2" class="tab_link">タブを開く</a><br />
133
+ <li><a href="tab2.html#tab1">タブ1を開く</a></li>
46
134
 
47
- <a href="#tab3" class="tab_link">タブを開く</a><br />
135
+ <li><a href="tab2.html#tab2">タブ2を開く</a></li>
136
+
137
+ <li><a href="tab2.html#tab3">タブ3を開く</a></li>
138
+
139
+ </ul>
48
140
 
49
141
  ```
50
142
 
51
143
 
52
144
 
53
- **■ヘッダーに追加**
54
-
55
- ```javascript
56
-
57
- <script type="text/javascript">
58
-
59
- $(function() {
60
-
61
- $('a.tab_link').click(function() {
62
-
63
- $("#tabs").tabs().tabs('select', $(this).attr('href'));
64
-
65
- return false;
66
-
67
- });
68
-
69
- });
70
-
71
- </script>
72
-
73
- ```
74
-
75
-
76
-
77
- 「タブ2を開く」をクリックすると、タブ2が開かれた状態で、「<li><a href="#tab2">タブ2</a></li>」のところから表示されるようにしたいのです
145
+ 「タブ2を開く」をクリックすると、タブ2が開かれた状態で、タブのところから表示されるのですが、
78
-
79
-
80
146
 
81
147
  上記の例ですと、別ページから飛んできた場合(タブ部分の記述と「タブを開く」の記述が別々のページ)はきちんと動作するのですが、同じページ(1ページに両方記述)ですと、うまく動作しません。
82
148