達成された効果:
上の図に示すように、達成したい効果は、マウスが特定のタブに移動すると、次のコンテンツ 対応するコンテンツがエリアに表示され、対応するラベルの色を変更する必要があります。 図に示すように、現在のマウス位置は「ラベル 1」上にあり、コンテンツエリアに表示されるコンテンツは「」です。 「私はコンテンツ1」、「ラベル1」は「タグ2」「タグ3」より色が濃いです。同様に、「タグ2」と「タグ3」にマウスを移動すると、「私はコンテンツ2」 「コンテンツ3です」と表示されます。この効果はCSSとJSの連携によって実現されます。具体的なコードを見てみましょう:
まず HTML コードを見てみましょう:
タブ ページ効果
コンテンツ 1
コンテンツ 2
;I am Content 3
まず、マウスオーバー関数を登録します。各ラベル項目にマウスを移動すると、moveover 関数本体のコードが実行されます。関数本体のコードは、まず現在のノードを取得し、最初に表示されていたコンテンツを非表示にし、次に、受信ノード インデックスに基づいて、対応するラベルに対応するコンテンツを表示します。このコードでは、HTML のノード スタイルの変更に加えて、setTimeout 関数も使用されていることがわかります。この関数の機能は、関数の実行時間を遅らせることです。次のコードの遅延時間は 300 ミリ秒です。つまり、マウスがラベルに移動したとき。コードはすぐには実行されず、300 ミリ秒遅れて実行されます。マウスが 300 ミリ秒以内にラベル領域の外に移動すると、コードは実行されなくなります。
コードをコピー
$("#tabfirst li").each(function(index){
//li の各ラップされた JQuery オブジェクトは、関数内のコードを実行します
/ /index は、現在この関数コードを実行している li に対応するすべての li で構成される配列内のインデックス値です
//index の値を使用して、現在のラベルに対応するコンテンツ領域を見つけることができます
$ (this).mouseover(function(){
var liNode = $(this);
timeoutid = setTimeout(function(){
//元々表示されていたコンテンツを非表示にします
$("div. contentin" ).removeClass("contentin");
//元々 tabin 属性があったタグから tabin 属性を削除します
$("#tabfirst li.tabin").removeClass("tabin");
// 現在のタグに対応するコンテンツ領域を表示します
$("div.contentfirst").eq(index).addClass("contentin");
//$("div.contentfirst: eq(" Index " )").addClass("contentin");
//tabin 属性を現在のラベルに追加します
liNode.addClass("tabin");
},300 );
}).mouseout(function(){
clearTimeout(timeoutid);
}); 🎜>
これを除く 効果に加えて、同じ原理を使用して各ラベルをクリックする機能を登録することもでき、各ラベルがクリックされると、異なるページまたは任意のページの一部を元のコンテンツ領域にロードできます。ご興味がございましたら、ここをクリックしてソース コードをダウンロードしてください。ソース コードには、記事で言及されている 2 つの異なる関数によって実装されたさまざまな関数が含まれています。