问题是,当您将光标悬停在新的文本元素上时,它正在接收焦点,并且该campaign部分失去焦点(导致您的文本失去焦点,campgain 重新获得它,并且文本重新出现)。
修改您的代码,以便当活动元素或文本元素将鼠标悬停在它们上方时,文本弹出窗口仍然可见。
这是您的 Fiddle 的更新:http: //jsfiddle.net/W3wEd/
$('.campaign-1').on('mouseenter', function(){
$(this).addClass('campaign-hover');
updateHover();
});
$('.campaign-1').on('mouseleave', function(){
$('.campaign-hover').removeClass('campaign-hover');
updateHover();
});
$('.cta').on('mouseenter', function(){
$(this).addClass('cta-hover');
updateHover();
});
$('.cta').on('mouseleave', function(){
$(this).removeClass('cta-hover');
updateHover();
});
function updateHover() {
if ($('.campaign-1').hasClass('campaign-hover') || $('.cta').hasClass('cta-hover'))
{
$('.cta').show();
} else {
$('.cta').hide();
}
};