JS-点击效果

在这里插入图片描述

点击鼠标,让div出现在,鼠标点击的位置上
实现方式:
点击时,获取鼠标点击位置的坐标,是针对视窗窗口的坐标
将这个数值,作为标签定位的数据

var oDiv = document.querySelector('div');

如果没有,padding和border,只要获取宽度就可以
有px单位,parseInt() 只获取数值,不要px
实际项目中,还需要定义兼容性
var oDivHeight1 = parseInt(window.getComputedStyle(oDiv).height) ;

如果要是有,padding和border,需要使用 offsetHeight 来获取
只有数值,没有px单位
推荐使用
var oDivHeight2 = oDiv.offsetHeight;

console.log(oDivHeight1 , oDivHeight2);

var oDivWidth = oDiv.offsetWidth;

window.onclick = function(e){
    // console.log(e);
    // 这个数值只有 数, 没有px单位
    // 作为定位的属性值,需要拼接px单位

    // 让标签的左上角和鼠标点击的位置重合
    // oDiv.style.left = e.clientX + 'px' ;
    // oDiv.style.top = e.clientY + 'px' ;

    // 让标签的左上角 和 鼠标点击位置 有间距
    // 在原始数值的基础上,再多加上一定的数值
    // 这个数值,是根据客户需求而定,现在随便加个数,意思意思
    // oDiv.style.left = e.clientX + 20 + 'px' ;
    // oDiv.style.top = e.clientY + 20 + 'px' ;

    // 让标签的中心 和 鼠标点击位置 重合
    // 在原始数值的基础上,再减去定位标签,宽高的一半
    oDiv.style.left = e.clientX - oDiv.offsetWidth/2  + 'px' ;
    oDiv.style.top = e.clientY - oDiv.offsetHeight/2 + 'px' ;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值