現在、いくつかのことを行うために Bootstrap Nav-Tab が必要です。次のことを行う必要があります。
(タブをクリックすると)
onClick: タブが閉じている場合は開きます。それらが開いた場合、コード操作の同じスコープ/スタック/バブルで、ページを小さくし、グラフィカルにクールに見える他のものの下にNav-Tabsを移動して消えるために、そのすぐ上にdivが必要です。:)
onClick: 既に開いているタブをクリックすると、タブ セクションが閉じ、上で閉じていた div が下にスライドしてスペースを埋めます。(いいえ、アコーディオンコンポーネントはここでは機能しません。クリックトランジションの種類が間違っています)
onClick: タブが開いていて、ユーザーが content div で開いているタブとは別のタブをクリックすると、通常どおりにそのタブに切り替わります。
そのため、クリックが発生した場合の適切なタイミングを、これらの新しい言語で見つけようとしています。遷移が探していたものであるため、JQuery を使用しています。私は を持っていて、や$('.link').on('click', function() {} )
を試してみましたが、どのイベントを発生させる必要があるのか わかりません。.bind('click', function() {} )
.click()
on('click', function() {} )
これまでの私のコードは次のとおりです。
(間隔について申し訳ありません。貼り付けたときに非常に奇妙な間隔で自動間隔が空けられました:S)
var isOpen = false;
var tabOpenName = "";
var liClicked = "";
$(document).ready(function() {
$(".link").on("click", function(event) {
liClicked = $(event.target).valueOf("id"); //Grab link clicked
// begin loop - Li
$("#tabMenu li").each(function(index, li) {
var currentListItem = $(li);
if (currentListItem.attr("class") == "active"){
isOpen = true;
tabOpenName = $(li).prop("id"); //Grab tab open
} // end if
}); // end selection loop
if (isOpen == true) {
alert(liClicked);
$("#tabContentId").slideToggle("slow");
$("#learnMoreBox").slideToggle("slow");
} // end if
}) //end .on event
}); // end query
ここで HTML を提供する必要はないと思います。これは、わかりやすい単純な用語を使用した命名規則を使用して疑似コードで返すことができるため<div id="containerToHide">
です。
上で述べたように、#learnMoreBox は Nav-Tabs の上に配置され、タブが開いていることが確認されると消えます。#tabContentId は、私がclass="data-content"
住んでいる div です。
現在、サイトはある程度機能しています。タブがクリックされると、インデックス番号 0 ~ 4 の間をクリックすると、タブのように機能します。ただし、ユーザーがタブをクリックし、それらのいずれかがアクティブになると、スライドが切り替わります。表示されているタブをクリックしたときにのみこれが発生するようにします。タブだけでなく...
クリックされた ID を見つける必要があることはわかっています<a href="">
。笑。それが私がこれまでに抱えている唯一の問題だからです。私はそれを試してみてliClicked
、.link クラスの<a href="">
リスト項目のどれがクリックされたかを変数に表示させ、それを変数と比較して、tabOpenName
開いているタブをクリックしたかどうかを確認しました。
最初は文字列を比較しないことを望んでいました。変数がselectedIndex
開いているタブの数を指し、 if(selectedIndex == 0 && tabOpenName == 'Home') then {slide}
...などの条件付きであることを望んでいました。
あなたはおそらく疑問に思っているでしょう... うーん... なぜ彼はalert
最後の部分でそれを持っているのですか? 笑。それは、IDE、Chrome 開発ツール、または JQuery をステップ実行できるソフトウェアが見つからなかったためです。これが、私が伝統的に言語を学習する方法です。したがって、アラートを使用して、アラート内の文字列を返す方法を見つけることができるかどうかを確認していました。アラートで返される文字列を取得できれば、簡単に比較できます... アラートの tabOpenName は、現在開いているタブの正確な文字列を示しています。
助けていただければ幸いです。