我在 jquery 中遇到了一些基本问题,但我无法解决。
代码如下:http://jsfiddle.net/pdQsY/
如何获取div的一半位置。(鼠标悬停在div左侧200px,输出字体颜色#ff0
。鼠标悬停在div右侧200px,输出字体颜色#336)
我使用e.pageX - div.offsetLeft
,但是这个回显NaN
,谢谢。
最佳答案
使用.offset().left
代替不存在的jQuery属性offsetLeft
。
出于效率考虑,您应该缓存 $("#main")
和 $('p')
变量。您在 mousemove
处理程序中调用了两次。 mousemove
处理程序经常被触发,因此您最终会轻松调用 $("#main")
数千次。
演示:http://jsfiddle.net/pdQsY/2/
var $main = $("#main");
var $p = $('p');
$main.mousemove(function(e) {
var mouseX = e.pageX;
var offsetLeft = $main.offset().left;
if(mouseX < 200 + offsetLeft){
$p.css('color','#ff0');
} else {
$p.css('color','#336');
}
$p.html(mouseX - offsetLeft);
e.preventDefault();
});
关于jquery获取一个div的一半位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344095/