ホームページ >ウェブフロントエンド >jsチュートリアル >JQuery_jquery での DOM イベント合成の使用分析例

JQuery_jquery での DOM イベント合成の使用分析例

WBOY
WBOYオリジナル
2016-05-16 15:55:20922ブラウズ

この記事の例では、JQuery での DOM イベント合成の使用法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

jQuery には、hover() メソッドと toggle() メソッドという 2 つの合成イベントがあります。前述の ready() メソッドと同様に、hover() メソッドと toggle() メソッドは両方とも jQuery のカスタム メソッドです。

hover() メソッド

hover() メソッドの構文構造は次のとおりです:
ホバー(入る、離れる);

hover() メソッドは、カーソルホバーイベントをシミュレートするために使用されます。カーソルが要素上に移動すると、指定された最初の関数 (enter) がトリガーされ、カーソルが要素の外に移動すると、指定された 2 番目の関数 (leave) がトリガーされます。

コードは次のとおりです:

$(function(){
 $("#panel h5.head").hover(function(){
  $(this).next().show();
 },function(){
  $(this).next().hide(); 
 })
})

コードを実行した後の効果は、次のコードを実行した後の効果と同じです。カーソルを「タイトル」リンク上にスライドさせると、対応する「コンテンツ」が表示され、カーソルを「タイトル」リンクからスライドさせると、対応する「コンテンツ」が非表示になります。

$(function(){ 
 $("#panel h5.head").mouseover(function(){ 
  $(this).next("div.content").show(); 
 }); 
 $("#panel h5.head").mouseover(function(){ 
  $(this).next("div.content").hide(); 
 }) 
});

注:

1. CSS には「:hover」などの疑似クラス セレクターがあり、ユーザーのカーソルが要素の上に置かれたときに要素の外観を変更します。ほとんどの準拠ブラウザでは、疑似クラス セレクターを任意の要素で使用できます。ただし、IE 6 では、擬似クラス セレクターはハイパーリンク要素にのみ使用できます。他の要素については、jQuery の hover() メソッドを使用できます。

2. hover() メソッドは、bind("mouseover") と binding("mouseout") を置き換えるのではなく、jQuery の binding("mouseenter") と binding("mouseleave") を正確に置き換えます。したがって、hover() メソッドの 2 番目の関数をトリガーする必要がある場合は、trigger("mouseout") の代わりにtrigger("mouseleave") を使用する必要があります。

toggle() メソッド

toggle() メソッドの文法構造は次のとおりです:
toggle(fn1, fn2, ...fnN);

toggle() メソッドは、連続的なマウス クリック イベントをシミュレートするために使用されます。初めて要素をクリックすると、指定された最初の関数 (fn1) がトリガーされ、同じ要素が再度クリックされると、指定された 2 番目の関数 (fh2) がトリガーされ、さらに関数がある場合は最後まで順番にトリガーされます。 1つ。後続のクリックごとに、これらの関数の呼び出しが順番に繰り返されます。

効果を強化する前の例では、次の jQuery コードが使用されました:

$(function(){
 $("#panel h5.head").toggle(function(){
  $(this).next().show();
 },function(){
  $(this).next().hide();
 })
})

toggle() メソッドを使用すると、同じ効果が得られるだけでなく、コードも簡素化されます。

toggle() メソッドには、jQuery における別の役割があります。それは、要素の表示状態を切り替えることです。要素が表示されている場合は、クリックして切り替えた後に非表示になります。要素が非表示の場合は、クリックして切り替えた後に表示されます。したがって、上記のコードは次の jQuery コードとして記述することもできます:

$(function(){ 
 $("#panel h5.head").toggle(function(){ 
  $(this).next().toggle(); 
 },function(){ 
  $(this).next().toggle(); 
 }) 
})

より良いユーザーエクスペリエンスを実現するには、ユーザーが「タイトル」リンクをクリックした後に「コンテンツ」を表示するだけでなく、「タイトル」も強調表示する必要があります。コードは次のとおりです:

$(function(){ 
 $("#panel h5.head").toggle(function(){ 
   $(this).addClass("highlight"); 
  $(this).next().show(); 
 },function(){ 
  $(this).removeClass("highlight"); 
   $(this).next().hide(); 
 }); 
})

コードを実行すると、「コンテンツ」が表示されている場合は「タイトル」が強調表示されます。「コンテンツ」が非表示の場合は、「ニュース タイトル」は強調表示されません。

この記事が皆さんの jQuery プログラミングに役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。