我在元素悬停时遇到了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();
}
});
有什么建议吗?
答案 0 :(得分: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']();
});