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

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

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

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

HTML

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

CSS

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

Q&A

3回答

2435閲覧

別ページにあるCSSで作成されたタブを開いた状態で表示させたい

asami12

総合スコア12

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2017/03/08 01:38

編集2017/03/08 11:30

###前提・実現したいこと

・Aページにあるボタンをクリックしたら別ページ(Bページ)にあるCSSで作成されたタブを開いた状態で表示

・アンカーリンクでCSSのみで作成されたラジオボタンを使用したタブの特定のタブを開いた状態でリンクさせたい

Aページにあるボタン

HTML

1<a href="sample.html" class="btn proBt1">詳しく見る</a> 2<a href="sample.html" class="btn proBt2">詳しく見る</a> 3<a href="sample.html" class="btn proBt3">詳しく見る</a>

CSSのみで作成されたタブは下記です。(Bページ)

HTML

1<!-- TABS LIST --> 2<ul id="tabs-list"> 3<!-- MENU TOGGLE --> 4<label id="open-nav-label" for="nav-ctrl"></label> 5<li id="li-for-panel-1"> 6<label class="panel-label" for="panel-1-ctrl">タブ 1</label> 7</li> 8<li id="li-for-panel-2"> 9<label class="panel-label" for="panel-2-ctrl">タブ 2</label> 10</li> 11<li id="li-for-panel-3"> 12<label class="panel-label" for="panel-3-ctrl">タブ 3</label> 13</li> 14<label id="close-nav-label" for="nav-ctrl">Close</label> 15</ul> 16 17<!-- THE PANELS --> 18<article id="panels"> 19<div class="container"> 20<section id="panel-1"><!-- ▼タブ 1 --> 21<main> 22<p>コンテンツ 1</p> 23</main> 24</section> 25 26<section id="panel-2"><!-- ▼タブ 2 --> 27<main> 28<p>コンテンツ 2</p> 29</main> 30</section> 31 32<section id="panel-3"><!-- ▼タブ 3 --> 33<main> 34<p>コンテンツ 3</p> 35</main> 36</section> 37 38</div><!-- /container▲ --> 39</article>

CSS

1ul#tabs-list { 2 list-style: none; 3 text-align: center; 4 border-bottom: 1px solid #dfdfdf; 5 margin: 0; 6 padding: 0; 7} 8 9label.panel-label { 10 -webkit-user-select: none; 11 -moz-user-select: none; 12 -ms-user-select: none; 13 user-select: none; 14 display: block; 15 width: 100%; 16 color: #bdc3c7; 17 cursor: pointer; 18 background-color: #ecf0f1; 19 -webkit-transition-property: border-top, background-color, color; 20 transition-property: border-top, background-color, color; 21 -webkit-transition-duration: 200ms; 22 transition-duration: 200ms; 23} 24label.panel-label:hover { 25 color: #c0392b; 26} 27 28#panels { 29 background-color: white; 30} 31#panels .container { 32 margin: 0 auto; 33 width: 90%; 34} 35#panels section header label.panel-label { 36 padding: 12px 24px; 37 -webkit-box-sizing: border-box; 38 -moz-box-sizing: border-box; 39 box-sizing: border-box; 40} 41#panels section main { 42 -webkit-box-sizing: border-box; 43 -moz-box-sizing: border-box; 44 box-sizing: border-box; 45 max-height: 0; 46 opacity: 0; 47 -webkit-transition: opacity 600ms; 48 transition: opacity 600ms; 49 overflow-y: hidden; 50} 51 52#panel-1-ctrl:checked ~ #panels #panel-1 main { 53 max-height: initial; 54 opacity: 1; 55 padding: 48px 24px; 56} 57 58#panel-2-ctrl:checked ~ #panels #panel-2 main { 59 max-height: initial; 60 opacity: 1; 61 padding: 48px 24px; 62} 63 64#panel-3-ctrl:checked ~ #panels #panel-3 main { 65 max-height: initial; 66 opacity: 1; 67 padding: 48px 24px; 68} 69 70@media all and (max-width: 767px) { 71 #nav-ctrl:checked ~ #tabs-list #li-for-panel-1 { 72 max-height: 46px; 73 opacity: 1; 74 } 75 76 #nav-ctrl:checked ~ #tabs-list #li-for-panel-2 { 77 max-height: 46px; 78 opacity: 1; 79 } 80 81 #nav-ctrl:checked ~ #tabs-list #li-for-panel-3 { 82 max-height: 46px; 83 opacity: 1; 84 } 85 86 #open-nav-label { 87 display: block; 88 position: absolute; 89 top: 0; 90 right: 0; 91 bottom: 0; 92 left: 0; 93 cursor: pointer; 94 } 95 96 #nav-ctrl:checked ~ #tabs-list #open-nav-label { 97 display: none; 98 } 99 100 #close-nav-label { 101 display: block; 102 max-height: 0; 103 overflow-y: hidden; 104 background-color: #444444; 105 color: #ecf0f1; 106 padding: 0px; 107 -webkit-transition: max-height 200ms; 108 transition: max-height 200ms; 109 cursor: pointer; 110 text-transform: uppercase; 111 font-size: 12px; 112 line-height: 22px; 113 letter-spacing: 1px; 114 } 115 116 #nav-ctrl:checked ~ #tabs-list #close-nav-label { 117 max-height: 36px; 118 opacity: 1; 119 padding: 12px 24px; 120 } 121 122 #tabs-list { 123 position: relative; 124 } 125 #tabs-list label.panel-label { 126 padding: 12px 0; 127 } 128 #tabs-list #li-for-panel-1 { 129 max-height: 0; 130 overflow-y: hidden; 131 -webkit-transition: max-height 200ms; 132 transition: max-height 200ms; 133 } 134 #tabs-list #li-for-panel-2 { 135 max-height: 0; 136 overflow-y: hidden; 137 -webkit-transition: max-height 200ms; 138 transition: max-height 200ms; 139 } 140 #tabs-list #li-for-panel-3 { 141 max-height: 0; 142 overflow-y: hidden; 143 -webkit-transition: max-height 200ms; 144 transition: max-height 200ms; 145 } 146 147 #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 { 148 max-height: 46px; 149 opacity: 1; 150 } 151 #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 label.panel-label { 152 background-color: white; 153 color: #c0392b; 154 background-color: #c0392b; 155 color: white; 156 } 157 158 #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 { 159 max-height: 46px; 160 opacity: 1; 161 } 162 #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 label.panel-label { 163 background-color: white; 164 color: #c0392b; 165 background-color: #c0392b; 166 color: white; 167 } 168 169 #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 { 170 max-height: 46px; 171 opacity: 1; 172 } 173 #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 label.panel-label { 174 background-color: white; 175 color: #c0392b; 176 background-color: #c0392b; 177 color: white; 178 } 179 180 #panels .container { 181 width: 100%; 182 } 183 #panels section header { 184 display: block; 185 } 186} 187@media all and (min-width: 768px) { 188 #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 { 189 pointer-events: none; 190 cursor: default; 191 -webkit-transform: translate(0, 1px); 192 -ms-transform: translate(0, 1px); 193 transform: translate(0, 1px); 194 -webkit-box-shadow: none; 195 box-shadow: none; 196 border-top: none; 197 border-right: none; 198 } 199 #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1:last-child { 200 border-right: 1px solid #dfdfdf; 201 } 202 #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 + li { 203 border-left: 1px solid #dfdfdf; 204 } 205 #panel-1-ctrl:checked ~ #tabs-list #li-for-panel-1 label.panel-label { 206 background-color: white; 207 color: #c0392b; 208 border-top: 6px solid #c0392b; 209 padding-top: 26px; 210 } 211 212 #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 { 213 pointer-events: none; 214 cursor: default; 215 -webkit-transform: translate(0, 1px); 216 -ms-transform: translate(0, 1px); 217 transform: translate(0, 1px); 218 -webkit-box-shadow: none; 219 box-shadow: none; 220 border-top: none; 221 border-right: none; 222 } 223 #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2:last-child { 224 border-right: 1px solid #dfdfdf; 225 } 226 #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 + li { 227 border-left: 1px solid #dfdfdf; 228 } 229 #panel-2-ctrl:checked ~ #tabs-list #li-for-panel-2 label.panel-label { 230 background-color: white; 231 color: #c0392b; 232 border-top: 6px solid #c0392b; 233 padding-top: 26px; 234 } 235 236 #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 { 237 pointer-events: none; 238 cursor: default; 239 -webkit-transform: translate(0, 1px); 240 -ms-transform: translate(0, 1px); 241 transform: translate(0, 1px); 242 -webkit-box-shadow: none; 243 box-shadow: none; 244 border-top: none; 245 border-right: none; 246 } 247 #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3:last-child { 248 border-right: 1px solid #dfdfdf; 249 } 250 #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 + li { 251 border-left: 1px solid #dfdfdf; 252 } 253 #panel-3-ctrl:checked ~ #tabs-list #li-for-panel-3 label.panel-label { 254 background-color: white; 255 color: #c0392b; 256 border-top: 6px solid #c0392b; 257 padding-top: 26px; 258 } 259 260 ul#tabs-list { 261 text-align: center; 262 border-bottom: 1px solid #dfdfdf; 263 } 264 ul#tabs-list li { 265 display: inline-block; 266 text-align: center; 267 font-size: 0.875em; 268 width: 18%; 269 -webkit-box-shadow: 0px -2px 2px rgba(0, 0, 0, 0.05); 270 box-shadow: 0px -2px 2px rgba(0, 0, 0, 0.05); 271 border-top: 1px solid #dfdfdf; 272 border-right: 1px solid #dfdfdf; 273 -webkit-transition-property: border-top; 274 transition-property: border-top; 275 -webkit-transition-duration: 200ms; 276 transition-duration: 200ms; 277 } 278 ul#tabs-list li:hover { 279 border-top: none; 280 border-right: none; 281 } 282 ul#tabs-list li:hover:last-of-type { 283 border-right: 1px solid #dfdfdf; 284 } 285 ul#tabs-list li:hover + li { 286 border-left: 1px solid #dfdfdf; 287 } 288 ul#tabs-list li label.panel-label { 289 border-top: 0px solid #c0392b; 290 padding: 24px 0; 291 } 292 ul#tabs-list li label.panel-label:hover { 293 border-top-width: 6px; 294 padding-top: 25px; 295 } 296 297 #open-nav-label, 298 #close-nav-label { 299 display: none; 300 } 301 302 #nav-ctrl { 303 display: none; 304 } 305} 306@media all and (min-width: 900px) { 307 main { 308 width: 70%; 309 margin: 0 auto; 310 } 311} 312.panel-radios { 313 position: fixed; 314 left: 50%; 315 top: 10px; 316 width: 20px; 317 opacity: 0.5; 318 z-index: 99; 319} 320.panel-radios:nth-child(1) { 321 -webkit-transform: translateX(-50px); 322 -ms-transform: translateX(-50px); 323 transform: translateX(-50px); 324} 325.panel-radios:nth-child(2) { 326 -webkit-transform: translateX(-30px); 327 -ms-transform: translateX(-30px); 328 transform: translateX(-30px); 329} 330.panel-radios:nth-child(3) { 331 -webkit-transform: translateX(-10px); 332 -ms-transform: translateX(-10px); 333 transform: translateX(-10px); 334}

###試したこと

js

1$(document).ready(function() { 2$(".proBt2").click(function() { 3$(".panel-2").trigger('click'); 4}); 5});

もしくは

$(document).on('click', element, function(event) { var target = $(event.currentTarget); target.find('input[type=radio]').attr('checked', true); });

js

1$('.hoge').on('click', function(){ 2 $(this).find('input[type=radio]').attr('checked', true); 3});

こんな感じでスクリプトで表現できるかと思ったのですが勉強中の私にはどうすればいいのか分かりません。
何か解決策があればご教授頂きたいです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答3

0

パラメータ以外の案を。

タブを切り替えたタイミングで localStorage に状態を保存。ロード時に保存されていたらそのタブを開くとか。

【Window.localStorage - Web API インターフェイス | MDN】
https://developer.mozilla.org/ja/docs/Web/API/Window/localStorage

【localStorageで複数のデータを保存する | Tips Note by TAM】
http://www.tam-tam.co.jp/tipsnote/javascript/post5978.html

【LocalStorageがおもいのほか便利すぎたのでまとめ - それマグで!】
http://takuya-1st.hatenablog.jp/entry/20110815/1313415947

投稿2017/03/08 12:26

kei344

総合スコア69407

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

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

asami12

2017/03/08 12:50

案をありがとうございます。 ですが、勉強中の私にはまだ難しすぎます><
kei344

2017/03/08 12:55

「今開いていないページ」を操作するのはそれなりに手順が必要です。 なのでパラメータとこれが無理なら諦める以外ないと思います。(cookieとかも有りますがコードの難しさは同じ程度でしょう)
guest

0

飛び先をクリックすることはよほどのことがない限り難しいのでは?

投稿2017/03/08 02:11

yambejp

総合スコア114810

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

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

asami12

2017/03/08 02:16

やはり、Jqueryを使用したタブでないと特定のタブを開いたまま表示する事は難しいのでしょうか・・・
yambejp

2017/03/08 02:18

たとえば、#や?でパラメータを渡してそこから 飛び先のページ自体が判断する仕組みが必要だと思います
guest

0

yambejpさんも回答されていますが

href="sample.html#proBt1"とかにして
リンク先のonload時にlocation.hashで#移行を取得、
css書き換え対象を判別して処理する方法でしょうか。

CSSを書き換える(jquery)
$("#example").css({
"color": "red",
});

投稿2017/03/08 04:13

yuki84web

総合スコア1857

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問