
こちらのサイト(http://www.finefinefine.jp/web/kiji422/)を参考にタブの切り替えをしています。
ページAからページBのタブのコンテンツにダイレクトに飛べるように以下のスクリプトを設定しています。
ページAからボタンをクリックした時に、
全てのタブが開いている状態のパターンも作成したいと思っているのですが
やり方がわからず悩んでいます。
どなたかお分かりの方がおられましたら
どうかご教授頂けないでしょうか。
■ページAにリンクを設置
<a href="b.html?no=0">ページBのタブ1にジャンプ</a>
<a href="b.html?no=1">ページBのタブ2にジャンプ</a>
↓これを追加したいです。
<a href="">ページBのコンテンツ全て表示</a>
ページB(タブページ)に以下のスクリプトを設置
■java script
$(function() {
var n = window.location.href.slice(window.location.href.indexOf(‘?’) + 4);
$(“.content_wrap”).hide();
$(“.content_wrap”).eq(n).fadeIn();
$(“.tab li”).removeClass(‘select’);
$(“.tab li”).eq(n).addClass(‘select’)
$(“.tab li”).click(function() {
var num = $(“.tab li”).index(this);
$(“.content_wrap”).hide();
$(“.content_wrap”).eq(num).fadeIn();
$(“.tab li”).removeClass(‘select’);
$(this).addClass(‘select’)
});
});
$(function() {
var n = window.location.href.slice(window.location.href.indexOf(‘?’) + 4);
if(n.length < $(".content_wrap").size()) {
var p = $(".content_wrap").eq(n).offset().top;
$('html,body').animate({ scrollTop: p }, 'slow');
return false;
}
});
どうぞ宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
No1です。
>タブの初期値のclass指定、selectと
>各コンテンツのclass指定、disnonは、全てはずしていますが、
>タブページにそのままアクセスすると全て閉じたままになっています
classを利用しているのかしていないのかよくわかりませんが、classを使わずにスクリプトだけで処理しているということでしょうか?
>disnonははずしておいて、全てのタブにclass="select"をつけたところうまく動作しました!
こちらの情報では、classを利用しているようにも見えますが…
結局、解決したのかしていないのか、よくわかってませんが・・・
いずれにしろ、#1にも書きましたように、
$(funciton(){
//ここにどちらの場合でも行なう共通処理(1)
if(/*全体表示なら*/){
//ここに全体表示の場合の固有の処理(2)
} else {
//ここに個別表示の場合の処理(3)
}
});
みたいなことでよいのではないでしょうか?
>タブページにそのままアクセスすると全て閉じたままになっています
現状ではhide()処理で一旦全部を非表示にしているからで、これは多分(3)に入るべき処理かと想像されます。
タブの切り替えを全体表示の時に有効にするのかどうか不明ですが、有効にするのならイベント設定は(1)に、そうでないなら(3)になると思われます。
(2)のケースで、ソースをそのまま表示するだけでことたりるのなら(なんとなくそんな気がしますが)、結果的に(2)の処理は何もなくなるのではないでしょうか。
このあたりは何をどうしたいのかによるので、質問者様はご存知ですが、私には文章だけからではよくわかりませんでした。
ついでながら、
$(function()~
を、わざわざ2つに分けて書いていますが、まとめても同じなので、上記のような構文のなかに全体を振り分けてしまえば、同じような判定を2度しなくても済む様になります。
丁寧にわかりやすい説明をして下さってありがとうございます!
全てのタブの部分にclass="select"をつけたら、なんとか思うように動作しました。
基本があまりわかっていないので
fujillinさんが教えてくださったことを理解しながら、勉強したいと思います!
どうもありがとうございました!
No.1
- 回答日時:
ご質問文からは、htmlの各要素の初期設定をどのようにしているのか不明ですが、参考サイトのようにclass=disnonを非表示となるようにcssで設定していると仮定して・・・
URIのクエリ部で渡すタブ番号に、全部開くという記号を決めておいて、その記号だったら全部表示というように処理すればよさそう。
具体的には、表示コンテンツ部分のclassのdisnonを削除して、show()をすればよろしいかと思います。
(hide()の処理をしていなければ、show()を実行する必要はありません)
この回答への補足
ご回答頂きありがとうございます!
htmlですが、
タブの初期値のclass指定、selectと
各コンテンツのclass指定、disnonは、全てはずしていますが、
タブページにそのままアクセスすると全て閉じたままになっています。
その記号の場合は、全部開くという方法はどのように処理すればいいのでしょうか。。あまり詳しくなくすみません。。
補足ですが、
scriotのスクロールは、タブがページの先頭にないので(スマホサイトです)
そこまでスクロールさせて表示させている感じです。
全て開く場合は、スクロールではなくページの先頭から表示させたいと思っています。
またその場合、全てのタブをselectした常態にしたいと思っています。
スクロールをやめて、disnonははずしておいて、全てのタブにclass="select"をつけたところうまく動作しました! どうもありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP PHP MySql ページング 2 2022/09/20 06:38
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスオーバー時に効果音を鳴らす
-
【C#】ラベルのダブルクリック...
-
「Cancel = True」とはどういう...
-
VB2005 DataGridView上でクリッ...
-
フォームの値を取得できません...
-
デジタル時計の時刻合わせの方...
-
スクリプトって、何ですか?ど...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
Outlookのエラー表示について
-
エクセルでポップアップを出し...
-
[Java] Edgeでのアドレスバー非...
-
IFRAMEでscrolling="yes|no"の...
-
Excel VBAでの右クリックのポッ...
-
エクセルのシート上に別のシー...
-
Chromeは何で進むボタンが無いの?
-
リトルバスターズEXを中古で購...
-
初心者javascript グーグルクロ...
-
アマゾン、楽天市場などを開く...
-
助けて下さい!小窓表示位置が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
別フォームから戻ったときのイ...
-
VB2005 DataGridView上でクリッ...
-
excelのタスクバーアイコンが・...
-
エクセル アプリケーションの...
-
Perlで数値(小数点、負の数、...
-
【C#】ラベルのダブルクリック...
-
VB6.0のEnabledをfalseにしても...
-
【ImageMagick】 PDF → JPG 変...
-
MSFlexGrid
-
エクセル:マクロを実行してい...
-
処理終了後のに砂時計が、クリ...
-
vba IE操作で こういう事って...
-
DLLが LoadLibrary() でロー...
-
C# マウスオーバーの記述方法
-
JSPページがダウンロードになっ...
-
フォームの値を取得できません...
-
同一の検索値が複数存在する場...
-
遷移元を知りたい。
-
マウスオーバー時に効果音を鳴らす
おすすめ情報