javascript - 如何知道用户点击了图像的左侧还是右侧?

标签 javascript jquery

我有一张图片:

<img src="https://upload.wikimedia.org/wikipedia/commons/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg" class=imgclick>

我有一个图库,我想知道用户是否单击图像左侧来显示之前的图像,或者他是否单击右侧来显示下一张图像。

我尝试过:

$('.imgclick').click(function (e){

    var elm = $(this);
    var xPos = e.pageX - elm.offset().left;

    var total = e.pageX;

    if((total / 2) <= xPos){
        alert("left");
    }
    else{
        alert("right");
    }

});

但它只返回“左”,有什么想法如何解决这个问题吗?

最佳答案

计算x位置,然后检查它是否小于图像宽度的一半。

$(".imgclick").on("click", function(event) {
    var x = event.pageX - this.offsetLeft;
    alert(x < this.width / 2 ? 'Left' : 'Right');
}); 

关于javascript - 如何知道用户点击了图像的左侧还是右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53785504/

相关文章:

jQuery 滚动结束和最后一个子元素选择器

javascript - Bootstrap 模态不显示

javascript - javascript 表达式中的三个分号有什么作用?

javascript - D3.js 不显示图表

javascript - 向浏览器请求模态以选择证书

jquery - 页面仍在刷新 form_for 远程 true Rails 5

JavaScript:long long number 的位移位

javascript - 追加时,文本一直在 div 之外

Jquery 在单击时检查复选框不会检查它

javascript - 获取 jQuery 中匹配元素周围的文本