js点击获取—通过JS获取图片的相对坐标位置
一、通过JS获取鼠标点击时图片的相对坐标位置
源代码如下所示:
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>通过JS获取图片的相对坐标位置</title> <style>
body {margin: 0; padding: 0; }
#area{width:300px;height:300px;}
#area img{border:none;cursor:pointer;width: 300px;height: 300px;}
.testBox {
width: 200px;
height: 200px;
overflow: auto;
}
</style>
</head> <body id="">
<h3>通过JS获取图片的相对坐标位置 示例</h3>
<div class="testBox">
<div id="area" onclick="getClickPos(event);">
<img id='imageID' src="data:images/1.jpg">
</div>
</div> <script type="text/javascript">
function getClickPos(e){
var xPage = (navigator.appName == 'Netscape')? e.pageX : event.x+document.body.scrollLeft;
var yPage = (navigator.appName == 'Netscape')? e.pageY : event.y+document.body.scrollTop;
identifyImage = document.getElementById("imageID");
img_x = locationLeft(identifyImage);
img_y = locationTop(identifyImage);
var xPos = xPage-img_x;
var yPos = yPage-img_y;
alert('X : ' + xPos + '\n' + 'Y : ' + yPos);
}
//找到元素的屏幕位置
function locationLeft(element){
offsetTotal = element.offsetLeft;
scrollTotal = 0; //element.scrollLeft but we dont want to deal with scrolling - already in page coords
if (element.tagName != "BODY"){
if (element.offsetParent != null)
return offsetTotal+scrollTotal+locationLeft(element.offsetParent);
}
return offsetTotal+scrollTotal;
}
//find the screen location of an element
function locationTop(element){
offsetTotal = element.offsetTop;
scrollTotal = 0; //element.scrollTop but we dont want to deal with scrolling - already in page coords
if (element.tagName != "BODY"){
if (element.offsetParent != null)
return offsetTotal+scrollTotal+locationTop(element.offsetParent);
}
return offsetTotal+scrollTotal;
}
</script>
</body>
补充
二、js图片上标注热点(相对定位)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<style>
.wrap{
width:200px;
height: 200px;
overflow: auto;
background: #ccc;
position: relative;
}
.ball{
width:20px;
height: 20px;
background: red;
border-radius: 50%;
position: absolute;
}
</style>
</head>
<body>
<div class="wrap">
<img src="data:images/1.jpg" alt="">
</div>
<script>
$('.wrap').click(function(e){
var radius=10;//半径
var offset=$(this).offset();
var top=e.pageY-offset.top-radius+"px";
var left=e.pageX-offset.left-radius+"px";
console.log(top);
console.log(left);
$('.wrap').append('<div class="ball" style="top:'+top+';left:'+left+'"></div>')
})
</script>
</body>
</html>
js点击获取—通过JS获取图片的相对坐标位置的更多相关文章
- html js点击按钮滚动跳转定位到页面指定位置(DIV)的方法代码
一:通过html锚点实现滚动定位到页面指定位置(DIV): 如果我们要点击实现跳转的地方是一个html锚点,也就是点击一个A标签超链接实现跳转,可以把A标签的href属性直接指向跳转指定位置的d ...
- js点击按钮,放大对应图片代码
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 点击往div里添加图片(实例)
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- js点击事件代理时切换图片如何防抖动
由于图片的加载速度比较慢,我们可以直接用64base对图片进行编码,把编码加在图片的url中~~~这样加载会快一些,也不会有切换图片时出现的抖动效果
- js点击获取—通过JS获取图片的绝对对坐标位置
一.通过JS获取鼠标点击时图片的相对坐标位置 源代码如下所示: <!DOCTYPE html> <html lang="en"> <head> ...
- js实现类似qq表情(插入图片以及获取光标的效果)
<!doctype html><html style="height:100%"><head><meta charset="ut ...
- 解决在页面中无法获取qrcode.js生成的base64的图片
应用场景 生成带二维码的推广海报图片 旧方法: 将用户自己的推广连接先通过qrcode.js生成二维码,然后再用后台返回的一张背景图片和二维码通过canvas绘制成一张海报. 问题 在部分安卓手机上获 ...
- 项目遇到的小问题(关于vue-cli中js点击事件不起作用和iconfont图片下载页面css样式乱的解答)
第一个:关于vue-cli中js点击事件不起作用 在vue的methods方法queryBtnFun()中拼接html和click操作事件的时候,发现点击事件一起未起作用: 后来发现是DOM执行顺序 ...
- JS点击img图片放大再次点击缩小JS实现 简单实用Ctrl+C+V就可以用
业务需要,从后台获取的图片列表,用img标签展示,用户需要查看大图.记录下来以便学习和参考.示例图如下: 放大之前: 放大之后: 点击后放大(由于图片高度超出了页面,需要通过overflow:auto ...
随机推荐
- SoapUI乱码问题处理方法
前言 每个工具都会有一些意想不到的“坑”,SoapUI也不例外.无论是参数或者响应报文,大家可能都遇到过乱码问题,这里记录一下几种解决乱码的方法. 一.修改显示字体 在File>>> ...
- unity editor 折叠树
https://blog.csdn.net/e295166319/article/details/52370575 需要两个类:树节点类和界面实现类 1:树节点类(TreeNode) using Un ...
- linux中安装gitlab和cicd(断网版)
1:先介绍一下怎么查找所需要的依赖包 #yum install rpmname--downloadonly --downloaddir=/rpmpath 例如:yum install gitlab-r ...
- 工具 - MSF
#ms17- use auxiliary/scanner/smb/smb_ms17_010 - exploit use exploit/windows/smb/ms17_010_eternalblue ...
- 如何解决IIS配置HTTPS证书后刷新消失问题
IIS配置CER证书后完成证书申请后刷新后就会消失的这个BUG微软一直存在,因为我们一般申请都是下来的CER文件和私钥 但是IIS只支持PFX文件的导入,所以我们需要把CER文件和证书私钥转换成PFX ...
- 重置Docker里的gitlab管理员用户密码
1.docker ps 找出容器的唯一标识 2.docker exec -it ad9b8c3e20f0 /bin/bash 进入Docker容器运行环境 3.开始重置gitlab管理员用户密码 ...
- Backbone中bind和bindAll的作用
本文参考: http://blog.bigbinary.com/2011/08/18/understanding-bind-and-bindall-in-backbone.html bindAll内部 ...
- Soap从入门到实战
Soap从入门到实战 参考文章:https://howtodoinjava.com/spring-boot/spring-soap-client-webservicetemplate/ 使用的技术:s ...
- CentOS7 通过YUM安装MySQL5.7 linux
CentOS7 通过YUM安装MySQL5.7 1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep ...
- 3.Golang的包导入
1.golang的源码文件可以随意命名,但是属于同一个包的源文件必须声明 package base 2.golang的包引入规则 import ( "fmt" #系统包直接写名字 ...