0

jquery mouseenter / mouseleave 要素のホバーで、ものが継続的にちらつく問題があります。それで、ちょっと動作しますが、ちらつきます。

これが私が持っているコードです(準備中):

myLinkElement.bind({
    mouseenter: function (e) {
        $(this).parent().removeClass("empty");
        $(this).parent().addClass("waiting");
        $(this).parent().find("#waitingText").html("hello");
        myContainerOverlay.stop(true, true).fadeIn();
    },
    mouseleave: function (e) {
        $(this).parent().addClass("empty");
        $(this).parent().removeClass("waiting");
        $(this).parent().find("#waitingText").html("");
        myContainerOverlay.stop(true, true).fadeOut();
    }
});

助言がありますか?

4

1 に答える 1

1

ここに提案がありますが、それが機能するかどうかを言うのは難しいフィドルやhtmlを除いて、要素のクラスと可視性が最初にどのように設定されているかなどに依存します:

myLinkElement.on('mouseenter mouseleave', function() {
        $(this).parent().toggleClass('empty waiting').find("#waitingText").html("hello");
        myContainerOverlay.fadeToggle();        
});​

または別のアプローチ:

myLinkElement.on('mouseenter mouseleave', function(e) {
    var state = e.type=='mouseenter';
    $(this).parent().toggleClass('empty waiting')
           .find("#waitingText").html(state?"hello":"");
    myContainerOverlay[state?'fadeIn':'fadeOut']();
});​
于 2012-10-29T20:35:47.327 に答える