0

ここに問題の例を作成しました。

http://jsfiddle.net/jXLSW/

画像にカーソルを合わせると、画像の上部に div が表示されることに注意してください。画像を離れると消えます。問題は、マウスを上部の div の上に移動したときです。マウスが出入りするため、この表示/非表示サイクルに入ります。

上部に表示されるこの div には、ツールバーとして機能するアイコンが含まれます。カーソルを合わせたときにツールバーを表示したままにするにはどうすればよいですか? さらに重要なことに、ホバーイベントでサイクリングを停止するにはどうすればよいですか?

更新: 興味深いのは、次のコードが希望どおりに機能することです。問題は、多くの場合、ライブクエリの問題が発生しているように見えることですが、実際には発生しません。したがって、div が表示されず、これも大きな問題です。

$('.has-menu').livequery(function() {
  $(this).hover(function() {$(this).find('div.img-menu').slideToggle();}, function() {$(this).find('div.img-menu').slideToggle();});
});
4

1 に答える 1

1

さて、コードを次のように変更しました。

$('.has-menu').live('hover', function(e) {
    if (e.type == 'mouseover') {
        $(this).find('div.img-menu').slideToggle();
    }else{
        $(this).find('div.img-menu').slideToggle();  
    }
});

そして今、すべてが順調です。

于 2010-11-26T05:47:02.387 に答える