Javascript 检测光标是否仍在元素中时出现问题
我创建了一个变量,当光标进入一个跨度元素时,该变量被赋值为1,最终保留该值,直到光标离开该元素 这样做的目的是检查用户是否仍在该元素上悬停,因为我不知道有哪种更简单的方法可以绕过:hover选择器 问题是,当我通过显示警报来检查hovering==1时,当我清楚地输入元素并且没有离开它时,不会显示任何警报 有人知道怎么解决这个问题吗 看 HTML: 编辑:我的目标基本上是检查用户在向下滚动页面时是否仍在元素上方悬停。这段代码成功了:Javascript 检测光标是否仍在元素中时出现问题,javascript,jquery,html,twitter-bootstrap-3,hover,Javascript,Jquery,Html,Twitter Bootstrap 3,Hover,我创建了一个变量,当光标进入一个跨度元素时,该变量被赋值为1,最终保留该值,直到光标离开该元素 这样做的目的是检查用户是否仍在该元素上悬停,因为我不知道有哪种更简单的方法可以绕过:hover选择器 问题是,当我通过显示警报来检查hovering==1时,当我清楚地输入元素并且没有离开它时,不会显示任何警报 有人知道怎么解决这个问题吗 看 HTML: 编辑:我的目标基本上是检查用户在向下滚动页面时是否仍在元素上方悬停。这段代码成功了: $( "span" ) .mouseover(func
$( "span" )
.mouseover(function() {
hovering=1;
})
.mouseout(function() {
hovering=0;
});
var hovering =0;
(function() {
var timer;
$(window).bind('scroll',function () {
clearTimeout(timer);
timer = setTimeout( refresh , 150 );
scrolling=true;
if (hovering==1) {
if ($(window).scrollTop() !== 0) {
alert("HOVERING; NOT AT TOP");
} else if ($(window).scrollTop() === 0) {
alert("HOVERING; AT TOP");
}
}
});
var refresh = function () {
scrolling=false;
};
})();
在将侦听器添加到范围之后,将立即运行包含警报的if语句。这是在你还没来得及将鼠标移到跨度上之前发生的。你想让鼠标在上面发生什么?例如,如果您想在鼠标悬停时使文本变为红色,您可以将使文本变为红色的代码放在mouseover处理程序函数中,然后将使文本变为红色的代码放回mouseout处理程序函数中;我明白了——我现在明白了,我构建这个问题的方式已经使得它相对于我的目标来说非常广泛
var hovering=0;
$( "span" )
.mouseover(function() {
hovering=1;
})
.mouseout(function() {
hovering=0;
});
if (hovering==1) {
alert("HOVERING");
}
$( "span" )
.mouseover(function() {
hovering=1;
})
.mouseout(function() {
hovering=0;
});
var hovering =0;
(function() {
var timer;
$(window).bind('scroll',function () {
clearTimeout(timer);
timer = setTimeout( refresh , 150 );
scrolling=true;
if (hovering==1) {
if ($(window).scrollTop() !== 0) {
alert("HOVERING; NOT AT TOP");
} else if ($(window).scrollTop() === 0) {
alert("HOVERING; AT TOP");
}
}
});
var refresh = function () {
scrolling=false;
};
})();