javascript - 纯 JS : Get percentage of the horizontal position clicked within a div?

标签 javascript

http://jsfiddle.net/UCFtB/33/

document.getElementById('test').addEventListener("click", function(event){
    var test = event.clientX / this.offsetWidth * 100;
    alert(test);
});

如何在纯 Javascript 中获取与元素宽度相关的水平位置百分比?现在我得到了矩形覆盖的视口(viewport)的像素除以 offsetWidth * 100,这给了我一些与预期完全不同的东西。例如:如果我单击绿色框的 x 中心,我将获得 50%。

我阅读了有关 getBoundingClientRect() 的信息,但我不确定这是否会解决问题以及如何使用它。

编辑:我的数学有问题吗?据我所知,为了获得百分比,我需要计算 N1/N2 * 100。

最佳答案

尝试使用 event.offsetX

document.getElementById('test').addEventListener("click", function(event){
    var test = event.offsetX;
    alert(test);
});

jsfiddle http://jsfiddle.net/UCFtB/38/

关于javascript - 纯 JS : Get percentage of the horizontal position clicked within a div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34472618/

相关文章:

javascript - 通过 https 包含 Javascript/CSS?

php - 性能与模块化 : Integrate JS into PHP or separate custom. js

javascript - 如何阻止 socket.io 多次发射

javascript - 如何使用 React 实现滚动 spy

javascript - CSS 变换 : rotate only works on image

javascript - 点击事件未注册

javascript - 编辑后保存捕获的屏幕截图

javascript split() 数组包含

javascript - jQuery UI 可调整大小的两个对象

Javascript:onclick函数获取元素