0

Jquery を使用してフッター div を別の div に追加し、新しく追加されたフッター div をホバー時に表示し、その後ゆっくりとフェード/非表示にしようとしています。これは私がこれまでに思いついたコードです:

<script type="text/javascript">
$('.xg_widget_main .module_forum .vcard').hover(function(){
$(this).append($('.module_forum .xg_module_foot').show('show'));
});
</script>

私がこのコードで直面している障害は、追加された div が .show('show') 関数に従わず、マウスがホバー領域から削除された後、追加された div がゆっくりではなく即座にフェードアウトしないことです。誰かが私がここで見逃していることをアドバイスできますか?

わかりました、私はコードを使用して動作するようになりました:

<script type="text/javascript">
$('.xg_widget_main .module_forum .vcard').hover(function(){
$('.module_forum .xg_module_foot').hide().appendTo(this).show('slow');
});
</script>

ただし、マウスを ('.xg_widget_main .module_forum .vcard') から離しても、追加された div は削除/非表示になりません。誰かがこれを行う方法を提案できますか?

4

2 に答える 2

0
$('.xg_widget_main .module_forum .vcard').on({
    mouseenter : function() {
         $('.module_forum .xg_module_foot').hide().appendTo(this).show('slow');
    },
    mouseleave: function() {
         $('.module_forum .xg_module_foot').hide('slow');
    }
});
于 2012-04-29T01:10:13.577 に答える
0

マウスオーバーとマウスアウトでは実際には異なる動作を要求しているため、ホバーは間違った解決策です。Hover は両方の動作を一緒に管理します。

$('.xg_widget_main .module_forum .vcard').mouseover(function(){
$('.module_forum .xg_module_foot').hide().appendTo(this).fadeIn('slow');
});

$('.xg_widget_main .module_forum .vcard').mouseout(function(){
$('.module_forum .xg_module_foot').fadeOut('slow');
});

mouseover イベントと mouseout イベントを見て、それらを別々に接続すると、整理できます。

于 2012-04-29T01:01:22.460 に答える