単一の引数を渡す.hover
と、ホバーのインとアウトの両方でコールバックが実行されます - http://api.jquery.com/hover/#hover2
そして、これはトグルの内部実装です
toggle: function( state ) {
var bool = typeof state === "boolean";
return this.each(function() {
if ( bool ? state : isHidden( this ) ) {
jQuery( this ).show();
} else {
jQuery( this ).hide();
}
});
}
に引数を渡していないため.toggle
、jQuery は、この内部関数 (ソース コードから抽出) を使用して、要素が非表示になっているかどうかを確認します。
function isHidden( elem, el ) {
// isHidden might be called from jQuery#filter function;
// in that case, element will be second argument
elem = el || elem;
return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
}