停止&点击即可重新启用鼠标悬停

时间:2013-07-31 03:19:39

标签: javascript jquery bind

我有一个容器,当一个计时器在(#module-container)上徘徊时会消失,但是当点击一个.return-news时,它会停止悬停并防止它褪色。现在我需要它,当通过函数调用时,我需要像以前一样在#module-container上再次允许悬停效果。这是悬停代码:

var module = $('#module-container');
$('.menu-control').add(module).mouseenter(function() {
    module.stop().show();
    clearTimeout(window.mtimer);
        console.log('hovered');
});

$('.menu-control').add(module).mouseleave(function() {
    var time = 3000;
    window.mtimer = setTimeout(function() {
        module.fadeOut(600);
    }, time);
    console.log(window.mtimer);
});

点击.return-news,我已成功停止使用此行停留:

$('.return-news').on('click',function(e) {
    e.stopPropagation();
    module.add('.menu-control').off('mouseenter').off('mouseleave');
    console.log('stop it!');
});

不工作:如果我点击.next-video,我需要重新启用悬停(然后使用之前声明的mouseeneter和mouseleave函数)。我试过调用此行,但它不起作用:

$('.next-video').on('click',function(e) {
    e.stopPropagation();
    module.add('.menu-control').on('mouseenter').on('mouseleave');
});

稍后,我将通过使用Vimeo的API调用它来重新启用悬停(而不是.next-video点击)但是为了时间的缘故,我将代码剥离了它的基本功能。

HERE'S THE CODE ON JSFIDDLE.

0 个答案:

没有答案