javascript - 在鼠标悬停时显示一个 div 并拥有它直到我们单击

标签 javascript jquery html css

我需要在鼠标悬停/悬停在按钮顶部时显示一个 div,即使我从按钮移出显示的 div,显示的 div 也应该能够点击并持续存在。但是当我们离开整个区域时,这应该是隐藏的。

我不确定如何实现这一目标。

var mouseX;    
var mouseY;
$(document).mousemove(function (e) {
    mouseX = e.pageX;
    mouseY = e.pageY;
});

$(".circle-button-small").hover(function () {
    mouseX = mouseX;
    mouseY = mouseY - 100;
    $('.theme-hover').css({
        'top': mouseY,
        'left': mouseX
    }).show('slow');
});

$(".circle-button-small").mouseout(function () {
    if ($(".theme-hover").mouseenter()) {
        $('.theme-hover').css({
            'top': mouseY,
            'left': mouseX
        }).show('slow');
    } else {
        $('.theme-hover').hide('slow');
    }
}); 

更新

$(".circle-button-small").hover(
    function () {
        mouseX = mouseX;
        mouseY = mouseY - 100;
        $('.theme-hover').css({
            'top': mouseY,
            'left': mouseX
        }).show('slow');
    }, 
    function () {
        $('.theme-hover').hide('slow');
    }
);

http://jsfiddle.net/u2oj799u/6/

更新: jbyrne2007 发布的解决方案很有帮助,但这是一种解决方法。我需要像下面评论中提到的那样的东西,

当我悬停时我需要“theme-hover”出现在鼠标指针附近,当我退出圆圈按钮时,如果不进入“theme-hover”,“theme-hover”应该被隐藏,否则如果我输入“theme-hover”,它应该仍然可见......上面的解决方案就像一个变通......

最佳答案

我不太清楚你的最终结果应该是什么,但看看 this jsfiddle

$(".main-area").mouseleave(function () {
$('.theme-hover').hide('slow');
});

我已将 div .theme-hover 移动到 .main-area 中,因此当您移过去单击它时它不会消失。

.theme-hover 的样式我也加了这个

cursor:pointer;

让它对用户更友好。

同样,我假设您希望在您单击时显示带有“Hey”的 div,所以我也将单击放在那里。

 $(".theme-hover").click(function () {
        $('.overlay').toggle();
    });

关于javascript - 在鼠标悬停时显示一个 div 并拥有它直到我们单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25442869/

相关文章:

image - 我如何使用 Canvas 绘制这个背景形状?

javascript - 谷歌和雅虎如何替换浏览器状态栏中的 URL?

javascript - 如何从字符串中分离字符串字符和数学字符

javascript - 通过 id json、jquery 选择元素

javascript - Jquery 验证带有索引的复选框

javascript - jQuery,菜单导航栏中的事件菜单项

c# - 为什么 Chrome 会在我的 HTML 顶部添加一个正文,然后给我一个看似虚假的 err 消息?

javascript - 单击时带有弹出窗口(信息窗口)的 Google map 自定义标记

HTML5 和 CSS - 自定义标签?

javascript - 如何使用 jQuery 模拟输入事件?